Печать по кнопке начинается с определения области и параметров страницы. Один 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 SubPrintArea ограничивает печать. Для FitToPagesWide отключается Zoom; FitToPagesTall=False не сжимает произвольный длинный отчёт до одной нечитаемой страницы по высоте.
Кнопке листа назначают эту обычную Sub. После проверки области и принтера отдельная команда ws.PrintOut Copies:=1, Collate:=True отправляет печать; не вызывайте её дополнительно в примере без намерения печатать.
Как проверить результат
Проверяемая область печати — A1:D5 с четырьмя заказами. Иллюстрация показывает исходный блок, а фактическое разбиение страниц смотрят в Excel.
Ограничения и частые ошибки
Доступность принтера и драйвера влияет на печать и параметры страницы. Если PrintOut завершается ошибкой, сохраните точное сообщение и проверьте выбранный принтер вне макроса.
Выделение диапазона пользователем не равно постоянной области печати. Не полагайтесь на случайный Selection при регулярном отчёте.
Слишком мелкий шрифт после масштабирования — признак того, что нужно пересмотреть ширину или число печатаемых полей. Автоматизация отправки не заменяет контроль читаемости результата.
Проверка перед рабочим запуском
- Область ограничена A1:D5.
- Ширина помещается на одну страницу.
- Принтер выбран осознанно.
- PrintOut не выполняется дважды.
Сначала выполните пример на учебной копии с указанными именами листов и диапазонами. Сравните исходные данные и результат, затем сохраните проверенный вариант процедуры.
Продолжить изучение: Как создать кнопку для запуска макроса в Excel, Форматирование ячеек VBA: цвет, выравнивание и AutoFit, Как сохранить листы Excel в PDF через VBA.
Разберитесь с макросами вместе с преподавателем
На занятии вы записываете действия, читаете код и проверяете результат на небольшом примере. Преподаватель подберёт задания под ваш уровень и поможет понять связь между командами VBA и изменениями в книге.
Начните с бесплатного вводного урока: 45 минут, один на один, без обязательств. Обсудите цель и попробуйте формат. Решение о продолжении — после занятия.