Макрос печать всех страниц excel

Skip to content

На чтение 1 мин. Просмотров 3.1k.

Что делает макрос: Если вы хотите распечатать все листы файла (или отдельные) вручную в Excel, для этого нужно зажать клавишу CTRL на клавиатуре, выбрать листы, которые требуется распечатать, и нажать кнопку печать. Если вы делаете это достаточно часто, можете использовать этот простой макрос.

Содержание

  1. Как работает макрос
  2. Код макроса
  3. Как использовать

Как работает макрос

Это очень просто. Все, что нам нужно сделать — это выбрать листы, которые мы хотим напечатать. Затем мы используем метод печати, чтобы запустить. Все листы, которые вы выбрали, печатаются на одном дыхании.

Код макроса

Sub PechatOpredelennihListov()
'Печать определенных листов
ActiveWorkbook.Sheets( _
Array("Лист1", "Лист3", "Лист5")).PrintOut Copies:=1
End Sub

Хотите напечатать все рабочие листы в книге? Это еще проще.

Sub PechatVsehListov()
'Печать всех листов
ActiveWorkbook.Worksheets.PrintOut Copies:=1
End Sub

Как использовать

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши personal.xlb в окне Project.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.

Содержание

  1. Как напечатать несколько листов (или все листы) в Excel за один раз
  2. Печатайте все листы за один раз
  3. Выборочная печать листов в Excel? Печать документов в Excel
  4. Как распечатать диапазон ячеек?
  5. Как распечатать страницу или несколько страниц листа?
  6. Как распечатать таблицу?
  7. Как распечатать лист?
  8. Как распечатать несколько листов?
  9. Как распечатать книгу?
  10. Как распечатать несколько книг?
  11. Как распечатать несколько листов в нескольких книгах?
  12. Надстройка позволяет:
  13. Как распечатать первые (либо другие заданные) страницы всех (либо только определенных) листов в книгах Excel?
  14. Как распечатать все книги в папке
  15. Как макрос работает
  16. Код макроса
  17. Как работает этот код
  18. Как использовать
  19. Excel макрос для печати всех листов
  20. Excel макрос для печати всех листов

Как напечатать несколько листов (или все листы) в Excel за один раз

Excel дает вам множество вариантов, когда вы пытаетесь распечатать свою работу. Вы можете распечатать весь рабочий лист, определенную область на листе, распечатать несколько листов или все листы за один раз.

В этом уроке я покажу вам, как вы можете распечатать несколько листов в Excel за один раз. Это могут быть некоторые выбранные листы или все листы в книге.

И если вы хотите распечатать определенную область на нескольких / всех листах, вы также можете сделать это с помощью небольшого количества магии VBA.

Печатайте все листы за один раз

В Excel есть встроенная функция, которая позволяет указать печать всех листов за один раз.

Ниже приведены шаги для печати всех листов в книге:

  1. Перейдите на вкладку Файл.
  2. Нажмите на опцию печати
  3. На странице «Печать» щелкните раскрывающееся меню «Параметры печати».
  4. Нажмите Распечатать всю книгу
  5. Нажмите на печать

Вышеупомянутые шаги распечатают все листы в книге. Если у вас установлена ​​область печати на некоторых листах, то будет напечатана только эта область печати.

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

А что, если вы хотите напечатать только отдельные листы, а не всю книгу.

Источник

Выборочная печать листов в Excel? Печать документов в Excel

При всем многообразии стандартных возможностей для печати данных в Excel, автору этой статьи пришлось столкнуться с такой задачей, решить которую стандартными средствами оказалось невозможно. Задача состояла в том, чтобы распечатать не все, а несколько листов в каждом из двадцати пяти файлов Excel, но обо всем по порядку.

Для начала рассмотрим различные возможности, которые предоставляет Excel для печати данных, содержащихся в рабочих книгах, а для определенности остановимся на Excel 2007. В других версиях могут отличаться пункты меню и их названия, а по сути, все действия предельно похожи. Для избежания путаницы определимся с терминами: лист — это часть рабочей книги Excel, а страница — это часть листа, ограниченная размерами бумажного носителя, на который производится печать документа.

Для удобства выведем значок «Быстрая печать» на панель быстрого доступа.

«Быстрая печать» от «печати» отличается тем, что отправляет документ на используемый по умолчанию принтер без внесения каких-либо изменений, в то время как «Печать» подразумевает выбор принтера, числа копий и других параметров печати перед печатью документа.

Как распечатать диапазон ячеек?

Выделить необходимый для печати диапазон ячеек, после чего перейти на вкладку «Разметка страницы» и в группе «Параметры страницы» зайти в меню кнопки «Область печати» после чего выбрать пункт «Задать». Таким образом, задается область печати и щелчок по кнопке «Быстрая печать» отправит эту область на принтер.

Как распечатать страницу или несколько страниц листа?

Для того чтобы распечатать определенную страницу документа, расположенного на листе рабочей книги Excel, необходимо щелкнуть по кнопке «Office» в левом верхнем углу окна, в меню типичных команд навести курсор на пункт печать и в списке команд выбрать одноименный пункт «Печать». Откроется окно «Печать». Окно «Печать» можно вызвать также сочетанием горячих клавиш Ctrl+P (P- это первая буква от английского слова print).

Выбрав в этом окне опцию «Страницы» можно задать регуляторами значения нужных страниц и при необходимости можно задать число копий в группе «Копии». Для отправки выбранных страниц на принтер нажимается кнопка «ОК».

Как распечатать таблицу?

Для печати таблицы данных, необходимо выделить любую ячейку из этой таблицы, после чего вызвать окно «Печать» сочетанием горячих клавиш Ctrl+P, либо через кнопку «Office»/пункт «Печать»/кнопку «Печать». В этом окне, в группе «Вывести на печать» нужно активировать опцию «Таблицу», при необходимости задать число копий и нажать кнопку «ОК» для запуска процесса печати.

Как распечатать лист?

Для того чтобы быстро распечатать лист, то есть все страницы документа, расположенного на листе, нужно кликнуть на кнопку «Быстрая печать» в панели быстрого доступа, либо кликнуть по кнопке «Office», в меню типичных задач навести курсор мыши на пункт «Печать» и выбрать пункт «Быстрая печать».

Как распечатать несколько листов?

В окне открытой книги необходимо выделить нужные листы, щелкая по их ярлыкам с нажатой клавишей Ctrl. После этого надо вызвать окно «Печать» одним из вышеописанных способов, например через сочетание клавиш Ctrl+P. При необходимости можно установить число копий (оно не должно превышать 999) и снять/установить флажок у пункта «Разобрать по копиям». При включенном флажке принтер распечатает документ, начиная с первой и заканчивая последней страницей заданное количество раз, а при отключенном, сначала первую страницу документа заданное число раз, затем вторую и так далее.

Как распечатать книгу?

Для печати всей книги целиком, то есть всех страниц на всех листах открытой рабочей книги необходимо вызвать окно «Печать» одним из двух способов, описанных выше (например, нажав Ctrl+P) и в группе опций «Вывести на печать» выбрать пункт «Всю книгу».

Как распечатать несколько книг?

При печати нескольких книг действует одно ограничение – все файлы этих книг должны находиться в одной папке. Через кнопку «Office» и пункт меню типичных команд «Открыть» (либо нажатием сочетания клавиш Ctrl+O) необходимо выбрать папку, в которой расположены файлы книг и при нажатой клавише Ctrl поочередно щелкнуть по всем нужным файлам книг. После этого в окне «Открытие документа» надо раскрыть меню кнопки «Сервис» и выбрать пункт «Печать».

Как распечатать несколько листов в нескольких книгах?

А что если необходимо распечатать по одному или по несколько листов из множества файлов? Или отправить на печать листы с определенными названиями, из выбранных рабочих книг? Придется либо перебирать один за другим все файлы книг, отправляя на печать нужные листы, либо печатать полностью все книги, а затем выбрасывать в корзину бумажные листы с отпечатанными лишними данными. Оптимально решить эту задачу поможет надстройка для Excel, в диалоговом окне которой можно выбрать необходимые для печати файлы и задать номера или имена листов, которые требуется распечатать.

Надстройка позволяет:

1. Одним кликом мыши вызывать диалоговое окно надстройки прямо из панели инструментов Excel;

2. выбирать необходимые файлы для печати;

3. задавать по имени или по номерам листы из выбранных файлов для печати;

4. при необходимости задавать поля, аналогично тому, как это делается при стандартной печати;

5. изменять ориентацию страниц с книжной на альбомную;

6. устанавливать количество копий;

7. задавать номера страниц для печати (если номера не установлены, то на печать отправляются все страницы);

8. устанавливать масштаб в процентах от натуральной величины (в пределах от 10 до 400).

*Для этой надстройки действует следующее ограничение: через диалоговое окно изменить можно только поля, количество копий, номера и ориентацию страниц.

Как распечатать первые (либо другие заданные) страницы всех (либо только определенных) листов в книгах Excel?

При помощи представленной выше надстройки можно решить и еще более сложную задачу. Например, распечатать только первые страницы на всех листах рабочей книги, отправить на печать любую страницу, либо диапазон страниц на листах, определенных пользователем. Запустить выборочную печать страниц и листов как в одной, так и в нескольких рабочих книгах.

Источник

Как распечатать все книги в папке

Что делает макрос: Если необходимо распечатать все книги в папке, вы можете использовать этот макрос.

Как макрос работает

В этом макросе, мы используем функцию Dir. Функция Dir возвращает строку, которая представляет собой имя файла. С её помощью в указанной папке мы возьмём имя каждого файла (с расширением “.xlsx”), затем будем открывать каждый файл, выводить на печать и закрывать файл после сохранения.

Код макроса

Как работает этот код

  1. Объявляем переменную MyFiles (тип строчный), которая будет фиксировать имя каждого файла.
  2. В шаге 2, макрос использует функцию DIR, чтобы указать Тип файла и адрес папки. Обратите внимание, что код ищет файлы в формате xlsx. Это означает, что только .xlsx файлы будут передаваться. Если вы ищете .xls файлы, вам необходимо изменить расширение.
  3. Открываем файл и распечатываем один экземпляр Лист1. Можете внести изменения в названия листа, который необходимо напечатать. Также можете изменить количество копий.
  4. Ищем снова по кругу, чтобы найти больше файлов. Если нет файлов, переменная MyFiles пустая.
    Если это так, то цикл и макрос завершается.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.

Источник

Excel макрос для печати всех листов

= Мир MS Excel/Макрос печати — Мир MS Excel

Войти через uID

Войти через uID

Модератор форума: китин, _Boroda_

Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос печати (Макросы/Sub)

Макрос печати

BlackRaven Дата: Вторник, 29.05.2018, 08:05 | Сообщение № 1

Доброго времени суток! Столкнулся со следующей задачей:
Необходим (для удобства) макрос печати. Но не простой, а с выделением области печати, принудительной горизонтальной ориентации и печати выделенного диапазона на 1 лист.

Простой макрос печати диапазона есть:
[vba]

[/vba]
Что нужно добавить для горизонтальной ориентации и печати выделенного диапазона на 1 лист?

Заранее большое человеческое спасибо! )))

P.S. с ориентацией справился (вроде). Добавил следующую строку ниже .DisplayDrawingObjects = xlHide:
[vba]

Доброго времени суток! Столкнулся со следующей задачей:
Необходим (для удобства) макрос печати. Но не простой, а с выделением области печати, принудительной горизонтальной ориентации и печати выделенного диапазона на 1 лист.

Простой макрос печати диапазона есть:
[vba]

[/vba]
Что нужно добавить для горизонтальной ориентации и печати выделенного диапазона на 1 лист?

Заранее большое человеческое спасибо! )))

P.S. с ориентацией справился (вроде). Добавил следующую строку ниже .DisplayDrawingObjects = xlHide:
[vba]

Сообщение Доброго времени суток! Столкнулся со следующей задачей:
Необходим (для удобства) макрос печати. Но не простой, а с выделением области печати, принудительной горизонтальной ориентации и печати выделенного диапазона на 1 лист.

Простой макрос печати диапазона есть:
[vba]

[/vba]
Что нужно добавить для горизонтальной ориентации и печати выделенного диапазона на 1 лист?

Источник

Excel макрос для печати всех листов

Модератор форума: китин, _Boroda_

Мир MS Excel » Вопросы и решения » Вопросы по VBA » Печать разного количества листов по условию (Макросы/Sub)

Печать разного количества листов по условию

Garik007 Дата: Четверг, 18.05.2017, 18:19 | Сообщение № 1
KuklP Дата: Четверг, 18.05.2017, 18:37 | Сообщение № 2
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

Garik007 Дата: Четверг, 18.05.2017, 20:45 | Сообщение № 3

KuklP, файл смогу только завтра приложить, только как-то странно получается условия формирования Range(«N44»). везде одинаковы, а печать идет только первых двух. Если убрать 44 и 45 будет без проблем печатать 46 и 47, убрать 46 и 47 будет нормально печатать 48 и 49 и так далее, но только всегда первые 2 листа.
А где его взять этот родительский объект? Указание вручную цифр на листе ситуацию вроде не меняет, завтра попробую вместо Range(«N44»). указать конкретные цифры в самом макросе.
Листов около сотни и вручную указывать при печати количество экземпляров каждого как-то муторно получается.

UPD. А вот и сам файл.

KuklP, файл смогу только завтра приложить, только как-то странно получается условия формирования Range(«N44»). везде одинаковы, а печать идет только первых двух. Если убрать 44 и 45 будет без проблем печатать 46 и 47, убрать 46 и 47 будет нормально печатать 48 и 49 и так далее, но только всегда первые 2 листа.
А где его взять этот родительский объект? Указание вручную цифр на листе ситуацию вроде не меняет, завтра попробую вместо Range(«N44»). указать конкретные цифры в самом макросе.
Листов около сотни и вручную указывать при печати количество экземпляров каждого как-то муторно получается.

UPD. А вот и сам файл. Garik007

Сообщение KuklP, файл смогу только завтра приложить, только как-то странно получается условия формирования Range(«N44»). везде одинаковы, а печать идет только первых двух. Если убрать 44 и 45 будет без проблем печатать 46 и 47, убрать 46 и 47 будет нормально печатать 48 и 49 и так далее, но только всегда первые 2 листа.
А где его взять этот родительский объект? Указание вручную цифр на листе ситуацию вроде не меняет, завтра попробую вместо Range(«N44»). указать конкретные цифры в самом макросе.
Листов около сотни и вручную указывать при печати количество экземпляров каждого как-то муторно получается.

UPD. А вот и сам файл. Автор — Garik007
Дата добавления — 18.05.2017 в 20:45

Источник

Adblock
detector

 

Olga_L

Пользователь

Сообщений: 31
Регистрация: 17.02.2015

Здравствуйте, хочу сделать печать нескольких листов одной кнопкой, оптом, так саказать. Но как сделать не знаю.  При этом есть условие: сколько листов печатать — зависит от значения в конкретной ячейке. Подскажите пожалуйста как в VB это реализовать. Знание VB на уровне «записать» или «копировать — вставить». Потому и не получаеться ничего.

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

#2

25.08.2015 10:21:13

Цитата
Olga_L написал: Потому и не получаеться ничего.

нет, не поэтому.
скорее — потому, что над предыдущими полученными готовыми решениями Ваших задач Вы не думали, и учиться у Вас либо времени нет, либо, что скорее, желания.

Знание VB на уровне «записать»

приводит к примерно такому результату:

Код
Sub Макрос1()
    Sheets(Array("1-4", "5-8", "9-12")).Select
    Sheets("1-4").Activate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub

от него рукой подать до рабочего макроса.

но в Вашем файле даже таких попыток нет.

Изменено: ikki25.08.2015 10:22:55

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

Olga_L

Пользователь

Сообщений: 31
Регистрация: 17.02.2015

 Уважаеммый Ikki, возможно для Вас и «рукой подать», а для меня привязать записанный макрос «быстрой печати» к условию пока целая проблема, на решение которой было потрачено целое утро. Поверьте, могла бы решить сама, не стала бы обращаться на форум. А попыток в моем файле Вы не увидели, потому как, я не была уверена в том, что в даном случае нужно начинать с записи «быстрой печати».

 

Olga_L

Пользователь

Сообщений: 31
Регистрация: 17.02.2015

Я не прошу решить задачу за меня. Прошу, чтобы подсказали хотя бы каким образом ее решить.

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#5

25.08.2015 10:59:31

Olga_L, проверяйте.

Скрытый текст

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Olga_L

Пользователь

Сообщений: 31
Регистрация: 17.02.2015

Мне выдает ошибку. Run-time error 438. Пишет что «обьект не поддердивает это свойство или метод».

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#7

25.08.2015 11:32:04

Цитата
Olga_L написал: Прошу, чтобы подсказали хотя бы каким образом ее решить

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

Цитата
Olga_L написал: Я не прошу решить задачу за меня

;) Не получится — сообщите.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Olga_L

Пользователь

Сообщений: 31
Регистрация: 17.02.2015

Я себе не так даный макрос представляла. В этом коде для меня почти ничего не понятно. Ладно.. и на том спасибо. Будем разбираться

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#9

25.08.2015 12:25:38

Olga_L, простите, что не угодил. :)

Скрытый текст

Так понятней?

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Если яч. H3=3, то надо будет напечатать листы с 1_4 по 17_20, т.е. ВСЕ листы?
Ведь 3 < 20 ?
Я хочу сказать, что по Вашим условиям, всегда надо печатать все листы.

Изменено: Михаил Лебедев25.08.2015 12:33:51

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

Михаил Лебедев, срабатывает приоритетное правило. Как понял, правила взаимоисключающие.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Михаил Лебедев

Пользователь

Сообщений: 2856
Регистрация: 17.01.2013

#12

25.08.2015 12:48:48

Цитата
JayBhagavan написал:
Как понял, … т .д. …

JayBhagavan

, я вот об этом и хочу сказать. Ну, что я, например, не так понял. Задача, на мой взгляд, поставлена не совсем корректно ☺

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Михаил Лебедев

Пользователь

Сообщений: 2856
Регистрация: 17.01.2013

#13

25.08.2015 13:06:42

Если логика от

Olga_L

именно такая, как понял

JayBhagavan

, тогда вот такой еще вариант (правда, в отличие от вар. от

JayBhagavan

с elseif, мой печатает листы в обратном порядке ☺):

Код
Sub procPrint()
    var_val = Worksheets("Лист1").[H3].Value
    Select Case var_val
    Case Is > 16: Sheets("17-20").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Case Is > 12: Sheets("13-16").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Case Is > 8:  Sheets("9-12").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Case Is > 4:  Sheets("5-8").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Case Is > 0: Sheets("1-4").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    End Select
End Sub

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Imelman

Пользователь

Сообщений: 9
Регистрация: 23.04.2017

#14

28.10.2017 13:20:04

Всем хороших выходных
Есть вопрос, по этой теме, задам сюда же пожалуй чтоб темы не плодить.
Есть два листа эксель, как их вывести на печать одной отправкой? (Необходимо чтоб принтер подхватил и напечатал двухстороннюю)

Код
Sheets("2").Range("A1:I70").PrintOut Copies:=1, Collate:=True
Sheets("3").Range("A1:I70").PrintOut Copies:=1, Collate:=True

Может как-то по умному Range (через запятую) написать?
Возможно ли вообще?  

Изменено: Imelman28.10.2017 13:21:12

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

#15

28.10.2017 13:26:26

Можно так:

Код
Sheets(Array("2", "3")).PrintOut Copies:=1, Collate:=True

Но тогда вероятно диапазоны печати на листе нужно задать заранее мануально, ну или этим же макросом.

 

Imelman

Пользователь

Сообщений: 9
Регистрация: 23.04.2017

#16

28.10.2017 15:09:28

Да, в такой форме сработало:

Код
    Sheets(Array("1", "2")).PrintOut Copies:=1, Collate:=True, _
       IgnorePrintAreas:=False

Спасибо

Что делает макрос


Это очень просто. Все, что нам нужно сделать — это выбрать листы, которые мы хотим напечатать. Затем мы используем метод печати, чтобы запустить. Все листы, которые вы выбрали, печатаются на одном дыхании.

Код макроса


  1. Sub Macros25a()
  2. 'Печать определенных листов
  3.    ActiveWorkbook.Sheets(Array("Лист1", "Лист3", "Лист5")).PrintOut Copies:=1
  4. End Sub

Хотите напечатать все рабочие листы в книге? Это еще проще.

  1. Sub Macros25b()
  2. 'Печать всех листов
  3. ActiveWorkbook.Worksheets.PrintOut Copies:=1
  4. End Sub

Как использовать


Для реализации этого макроса , вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11
  2. Щелкните правой кнопкой мыши в окне проекта.
  3. Выберите Insert➜Module
  4. Введите или вставьте код во вновь созданном модуле. Вам, вероятнее всего, понадобиться изменить имя листа.

Содержание:

  1. Печатайте все листы за один раз
  2. Печать нескольких листов (выбранных) за один раз
  3. Печать нескольких листов с определенной областью печати
  4. Настройка области печати вручную
  5. Настройка области печати с помощью VBA

[lyte id=’sgISE1MCqH8′ /]

Excel дает вам множество вариантов, когда вы пытаетесь распечатать свою работу. Вы можете распечатать весь рабочий лист, определенную область на листе, распечатать несколько листов или все листы за один раз.

В этом уроке я покажу вам, как вы можете распечатать несколько листов в Excel за один раз. Это могут быть некоторые выбранные листы или все листы в книге.

И если вы хотите распечатать определенную область на нескольких / всех листах, вы также можете сделать это с помощью небольшого количества магии VBA.

Итак, приступим!

Печатайте все листы за один раз

В Excel есть встроенная функция, которая позволяет указать печать всех листов за один раз.

Ниже приведены шаги для печати всех листов в книге:

  1. Перейдите на вкладку Файл.
  2. Нажмите на опцию печати
  3. На странице «Печать» щелкните раскрывающееся меню «Параметры печати».
  4. Нажмите Распечатать всю книгу
  5. Нажмите на печать

Вышеупомянутые шаги распечатают все листы в книге. Если у вас установлена ​​область печати на некоторых листах, то будет напечатана только эта область печати.

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

Достаточно просто!

А что, если вы хотите напечатать только отдельные листы, а не всю книгу.

Читай дальше!

Печать нескольких листов (выбранных) за один раз

Этого снова довольно легко добиться.

Все, что вам нужно сделать, это выбрать те конкретные листы, которые вы хотите распечатать, а затем распечатать их!

Ниже приведены шаги для печати некоторых конкретных листов в книге в Excel:

  1. Выберите все листы, которые хотите распечатать. Для этого, удерживая клавишу Ctrl, выбирайте листы один за другим. В этом примере я выбираю листы 1, 4 и 5.
  2. Перейдите на вкладку Файл.
  3. Нажмите на опцию печати
  4. На странице «Печать» щелкните раскрывающееся меню «Параметры печати».
  5. Нажмите «Печатать активные таблицы» (в большинстве случаев это уже вариант по умолчанию, но если это не так, вы можете выбрать его из раскрывающегося списка)
  6. Нажмите на печать

Когда вы выбираете несколько листов, все они действуют как активные листы при печати.

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

Печать нескольких листов с определенной областью печати

Этот немного сложнее двух предыдущих.

Предположим, у вас есть книга с несколькими листами, и вы хотите напечатать определенную область с каждого листа.

Возможно, на каждом листе есть сводные данные, и вы хотите распечатать только эти данные, а не весь рабочий лист.

Это можно сделать, установив область печати на всех листах, а затем распечатав их (как показано в двух вышеупомянутых методах).

Теперь, когда дело доходит до настройки области печати:

  • Это нужно делать вручную для каждого листа (особенно, если область печати для каждого листа разная)
  • Или вы можете использовать простой код VBA, чтобы установить одну и ту же область печати на всех листах за один раз.

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

Итак, позвольте мне быстро показать вам, как настроить область печати вручную и с помощью VBA.

Настройка области печати вручную

Ниже приведены шаги для этого:

  1. Выберите ячейки, которые вы хотите покрыть в области печати.
  2. Перейдите на вкладку «Макет страницы».
  3. В группе «Параметры страницы» нажмите «Область печати».
  4. Нажмите «Установить область печати».

Вот и все!

Это установит область печати для выбранных ячеек, и при печати этого листа будет напечатана только область печати.

Делать это нужно вручную для каждого листа. Поэтому, если вы хотите распечатать определенные области на Sheet1, Sheet4 и Sheet5, вам придется делать это для каждого листа отдельно.

Настройка области печати с помощью VBA

Если у вас много листов, настройка области печати вручную может занять много времени.

В этом случае вы также можете использовать VBA, чтобы быстро установить область печати на одном листе, а затем запустить код, чтобы реплицировать его на все другие листы.

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

Ниже приведен код макроса VBA, который сделает это:
Sub SetPrintAreas1 () Dim PrntArea As String Dim ws As Worksheet PrntArea = ActiveSheet.PageSetup.PrintArea For Each ws In Worksheets ws.PageSetup.PrintArea = PrntArea Next Set wks = Nothing End Sub
Приведенный выше код использует область печати с активных листов, переходит ко всем листам в книге и устанавливает ту же область печати в каждом из этих листов.

Он использует цикл для просмотра каждого листа, а затем устанавливает ту же область на каждом листе, что и область печати. Если вы хотите, чтобы это было разным для каждого листа, я считаю, что делать это вручную будет быстрее.

После того, как у вас есть этот набор, вы теперь можете распечатать все листы (или некоторые выбранные листы), и будет напечатана только область печати.

Вы можете поместить этот код макроса VBA в обычный модуль и запустить его оттуда.

Итак, это несколько сценариев, в которых вы можете распечатать несколько листов в Excel за один раз.

Надеюсь, вы нашли этот урок полезным!

Понравилась статья? Поделить с друзьями:
  • Макрос печати файла excel
  • Макрос печати листа excel в pdf
  • Макрос работающий на все excel
  • Макрос печати диапазона excel
  • Макрос пропись для word