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

Рассмотрим следующий сценарий: вы хотите распечатать лист, но номера страниц начинаются только со второй страницы.

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

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

Использование диспетчера отчетов рассматривалось в других выпусках ExcelTips. Последний раз надстройка Report Manager распространялась с Excel 2002, но вы все еще можете использовать ее в Excel 2003.

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

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

Sub GoodPrint()

Dim hlft As String     Dim hctr As String     Dim hrgt As String     Dim flft As String     Dim fctr As String     Dim frgt As String

'save current header     hlft = ActiveSheet.PageSetup.LeftHeader     hctr = ActiveSheet.PageSetup.CenterHeader     hrgt = ActiveSheet.PageSetup.RightHeader

'save current footer     flft = ActiveSheet.PageSetup.LeftFooter     fctr = ActiveSheet.PageSetup.CenterFooter     frgt = ActiveSheet.PageSetup.RightFooter

'remove header and footer     With ActiveSheet.PageSetup         .CenterHeader = ""

.RightHeader = ""

.LeftHeader = ""

.CenterFooter = ""

.RightFooter = ""

.LeftFooter = ""

End With

'print page one     ActiveSheet.PrintOut 1, 1

'restore header and footer     With ActiveSheet.PageSetup         .LeftHeader = hlft         .CenterHeader = hctr         .RightHeader = hrgt         .LeftFooter = flft         .CenterFooter = fctr         .RightFooter = frgt     End With

'print the rest of the pages     ActiveSheet.PrintOut 2 End Sub

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

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

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

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

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

link: / excelribbon-Selective_Headers_and_Footers [Выборочные верхние и нижние колонтитулы].