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

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

Один из способов скопировать верхние и нижние колонтитулы с листа в одной книге на лист в другой — использовать традиционные методы редактирования, такие как копирование и вставка. Другими словами, вы можете выбрать материал заголовка, который хотите скопировать, нажать Ctrl + C, отобразить заголовок на целевом листе, а затем нажать Ctrl + V. Недостатком этого подхода является то, что он может включать в себя довольно много шагов. В конце концов, для каждого верхнего колонтитула есть три раздела (левый, центральный и правый) и по три для каждого нижнего колонтитула. Это означает, что вы должны выполнить шесть операций копирования и вставки, чтобы скопировать весь верхний и нижний колонтитулы.

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

Выполните следующие действия:

  1. Откройте целевую книгу; тот, в который вы хотите скопировать верхние и нижние колонтитулы.

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

  3. Выберите «Переместить» или «Копировать лист» в меню «Правка». Excel отображает диалоговое окно «Перемещение или копирование». (См. Рис. 1.)

  4. В раскрывающемся списке «В книгу» выберите целевую книгу, которую вы открыли на шаге 1.

  5. В области «Перед листом» укажите, куда вы хотите скопировать лист.

  6. Убедитесь, что установлен флажок «Создать копию».

  7. Щелкните ОК. Рабочий лист копируется в целевую книгу.

  8. Закройте исходную книгу с шага 2.

  9. В целевой книге отобразите только что скопированный лист.

  10. В области вкладок в нижней части окна щелкните правой кнопкой мыши и выберите «Выбрать все листы». Теперь все листы выбраны.

  11. Откройте диалоговое окно «Параметры страницы». (Выберите «Параметры страницы» в меню «Файл».)

  12. Убедитесь, что выбрана вкладка «Верхний / нижний колонтитул». (См. Рис. 2.)

  13. Используя раскрывающиеся списки «Верхний колонтитул» и «Нижний колонтитул», выберите верхний и нижний колонтитулы, используемые на только что скопированном листе.

  14. Щелкните ОК.

  15. Удалите лист, скопированный на шагах с 1 по 7.

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

Хотя эти шаги работают нормально, они могут быть утомительными, если вам нужно скопировать верхние и нижние колонтитулы в несколько разных книг. В этом случае более разумным подходом будет использование макроса для копирования. Следующие два макроса можно использовать для копирования верхних и нижних колонтитулов за один простой шаг. Все, что вам нужно сделать, это отобразить исходный лист и использовать макрос GetHeaders. Этот макрос копирует информацию верхнего и нижнего колонтитула в строковые переменные. Затем вы можете по очереди отобразить каждый рабочий лист, у которого вы хотите иметь одинаковый верхний и нижний колонтитулы, и запустить макрос DoHeaders.

Option Explicit

Dim strHeadLeft As String Dim strHeadCenter As String Dim strHeadRight As String Dim strFootLeft As String Dim strFootCenter As String Dim strFootRight As String Dim bGotHeaders As Boolean

Sub GetHeaders()

With ActiveSheet.PageSetup         strHeadLeft = .LeftHeader         strHeadCenter = .CenterHeader         strHeadRight = .RightHeader         strFootLeft = .LeftFooter         strFootCenter = .CenterFooter         strFootRight = .RightFooter         bGotHeaders = True     End With End Sub
Sub DoHeaders()

If bGotHeaders Then         With ActiveSheet.PageSetup             .LeftHeader = strHeadLeft             .CenterHeader = strHeadCenter             .RightHeader = strHeadRight             .LeftFooter = strFootLeft             .CenterFooter = strFootCenter             .RightFooter = strFootRight         End With     Else         MsgBox "Select the sheet with the " _             & "headers you want to copy," _             & vbCrLf & "then run 'GetHeaders'", _             vbExclamation, "No Headers In Memory"

End If End Sub

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

Если у вас есть несколько листов и книг, в которые вы хотите скопировать верхние и нижние колонтитулы, вы можете использовать другой макро-подход. Следующий макрос скопирует верхние и нижние колонтитулы с активного листа на все остальные листы во всех других открытых книгах.

Sub CopyHeaderFooter()

Dim PS As PageSetup     Dim WB As Workbook     Dim WS As Worksheet

Set PS = ActiveSheet.PageSetup     For Each WB In Workbooks         For Each WS In WB.Worksheets             With WS.PageSetup                 .LeftHeader = PS.LeftHeader                 .CenterHeader = PS.CenterHeader                 .RightHeader = PS.RightHeader                 .LeftFooter = PS.LeftFooter                 .CenterFooter = PS.CenterFooter                 .RightFooter = PS.RightFooter             End With         Next     Next End Sub

Другими словами, если вы хотите скопировать верхние и нижние колонтитулы с текущего рабочего листа на 150 других рабочих листов, распределенных по 15 различным книгам, все, что вам нужно сделать, это открыть 15 рабочих книг одновременно, отобразить исходный рабочий лист и запустить макрос. .

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

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

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

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

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

link: / excelribbon-Copying_Headers_and_Footers [Копирование верхних и нижних колонтитулов].