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

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

Так, например, если вы выбрали 20 рабочих листов, и каждый рабочий лист требовал восьми страниц, это не будет обрабатываться Excel как 20 отдельных заданий печати по восемь страниц каждое, а как одно задание печати на 160 страниц.

Теоретически вы можете указать в диалоговом окне «Печать», что хотите распечатать страницы 1, 2, 9, 10, 17, 18 и т. Д., Но это может привести к ошибкам и утомительно. Это становится еще более трудным, если распечатываемые рабочие листы состоят из разного количества страниц.

Лучшее решение — написать макрос, который будет печатать за вас.

Макрос может проходить через любое количество выбранных вами листов и печатать только первые две страницы каждого из этих листов. Следующий макрос реализует эту технику:

Sub PrintTwoPages()

Dim sht As Variant

For Each sht In ActiveWindow.SelectedSheets         sht.PrintOut From:=1, To:=2, Preview:=True     Next     Set sht = Nothing End Sub

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3279) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Printing_Limited_Pages_from_a_Range_of_Worksheets [Печать ограниченных страниц из диапазона рабочих листов].