Печать по кнопке начинается с определения области и параметров страницы. Один PrintOut без проверки может отправить лишние страницы на выбранный принтер.

Подготовим учебный лист к печати и сначала откроем штатный просмотр Excel.

Что подготовить

На «Заказы» находятся A1:D5. Убедитесь, что это весь блок, который требуется печатать, и что на нём нет личных данных.

Просмотр в этой инструкции относится к команде Excel PrintPreview при проверке печати. Отдельные файлы превью к статьям не создаются.

Код и порядок выполнения

Option Explicit
Sub PrepareOrderPrint()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Заказы")
    With ws.PageSetup
        .PrintArea = "$A$1:$D$5"
        .Orientation = xlLandscape
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = False
    End With
    ws.PrintPreview
End Sub

PrintArea ограничивает печать. Для FitToPagesWide отключается Zoom; FitToPagesTall=False не сжимает произвольный длинный отчёт до одной нечитаемой страницы по высоте.

Кнопке листа назначают эту обычную Sub. После проверки области и принтера отдельная команда ws.PrintOut Copies:=1, Collate:=True отправляет печать; не вызывайте её дополнительно в примере без намерения печатать.

Учебный код: Печать листа по кнопке через VBA.
Учебный код: Печать листа по кнопке через VBA.

Как проверить результат

Проверяемая область печати — A1:D5 с четырьмя заказами. Иллюстрация показывает исходный блок, а фактическое разбиение страниц смотрят в Excel.
Проверяемая область печати — A1:D5 с четырьмя заказами. Иллюстрация показывает исходный блок, а фактическое разбиение страниц смотрят в Excel.

Проверяемая область печати — A1:D5 с четырьмя заказами. Иллюстрация показывает исходный блок, а фактическое разбиение страниц смотрят в Excel.

Ограничения и частые ошибки

Доступность принтера и драйвера влияет на печать и параметры страницы. Если PrintOut завершается ошибкой, сохраните точное сообщение и проверьте выбранный принтер вне макроса.

Выделение диапазона пользователем не равно постоянной области печати. Не полагайтесь на случайный Selection при регулярном отчёте.

Слишком мелкий шрифт после масштабирования — признак того, что нужно пересмотреть ширину или число печатаемых полей. Автоматизация отправки не заменяет контроль читаемости результата.

Проверка перед рабочим запуском

  • Область ограничена A1:D5.
  • Ширина помещается на одну страницу.
  • Принтер выбран осознанно.
  • PrintOut не выполняется дважды.

Сначала выполните пример на учебной копии с указанными именами листов и диапазонами. Сравните исходные данные и результат, затем сохраните проверенный вариант процедуры.

Продолжить изучение: Как создать кнопку для запуска макроса в Excel, Форматирование ячеек VBA: цвет, выравнивание и AutoFit, Как сохранить листы Excel в PDF через VBA.

Разберитесь с макросами вместе с преподавателем

На занятии вы записываете действия, читаете код и проверяете результат на небольшом примере. Преподаватель подберёт задания под ваш уровень и поможет понять связь между командами VBA и изменениями в книге.

Начните с бесплатного вводного урока: 45 минут, один на один, без обязательств. Обсудите цель и попробуйте формат. Решение о продолжении — после занятия.

Записаться на бесплатный урок