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

Как обнаружил Мартин, сделать это прямо в Excel невозможно.

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

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

Другой вариант — создать макрос, который будет выполнять настройку области печати за вас. Рассмотрим следующий макрос, который установит область печати для всех выбранных листов в соответствии с областью печати на активном листе. (Если выбрано несколько рабочих листов, активный рабочий лист будет виден при запуске макроса.)

Sub SetPrintAreas1()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = ActiveSheet.PageSetup.PrintArea     For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

Если вы предпочитаете, чтобы область печати была установлена ​​в определенный диапазон, который вы указываете, вместо того, чтобы сначала устанавливать область печати на активном листе, вы можете внести одно небольшое изменение в макрос, чтобы он использовал диапазон для области печати :

Sub SetPrintAreas2()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = "A7:E22"

For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

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

Sub SetPrintAreas3()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = InputBox("Enter print area range")

For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

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

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

link: / excelribbon-Setting_Print_Ranges_for_Multiple_Worksheets [Установка диапазонов печати для нескольких рабочих листов].