В Excel есть возможность вывести заголовки в начало каждой страницы. Это очень удобно при просмотре отчетов.
Если вы печатаете свой отчет, а на второй и всех последующих страницах нет заголовков — её просмотр превращается в какую-то игру «угадай-ка».
Но мы можем исправить это.
В данной статье мы рассмотрим, как можно поместить заголовки на каждую страницу.
Итак, начнём!
Выводим заголовок на каждую страницу
Допустим, у нас есть такая табличка:

При её печати, заголовок будет только на первой страничке.
Как сделать чтобы заголовок был на каждой страничке?
Пошаговая инструкция:
- Щелкните «Разметка страницы»;

- Нажмите на стрелочку вниз, в разделе «Параметры страницы»;

- В открывшемся окошке щелкните «Лист»;

- Вы можете выбрать какие столбики или строки будут закреплены как заголовки;

- Введите диапазон заголовков;

- Подтвердите.
Готово! Заголовки будут на каждой страничке.
Мы можем это проверить. Откроем печать.

Переключите страницы и посмотрите, появились ли там заголовки.

Точно так же, мы можем поместить в заголовок несколько строк или столбиков.
Фишка с полем «Имя»
О этом методе знают немногие.
Допустим, у нас есть такая табличка:

Пошаговая инструкция:
- Выделим то, что мы хотим сделать заголовком;

- Щелкните не поле «Имя»;

- Введем туда следующее название именованного диапазона;

- Подтверждаем.
Готово! Результат тот же, как и в прошлом способе.
Как это сработало?
Дело в том, что именованный диапазон Print_Titles это технический диапазон заголовков. В прошлом способе программа сама добавляла туда те данные, которые мы указали. А в этом способе мы сделали это руками.
Как вывести заголовок на все страницы кроме последней?
Спешу вас опечалить, но такого в Excel пока не придумали.
Можно сделать это так — поместить последние страницы в на другой лист.
Но это, конечно же, подойдет не всем.
Однако есть подходящий код Visual Basic:
Sub RepeatHeadersPrintExceptLastPage()
Dim TotalPages As Long
TotalPages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
ActiveSheet.PrintOut From:=1, To:=TotalPages - 1 .PrintTitleRows = "" ActiveSheet.PrintOut From:=TotalPages, To:=TotalPages
End With
End Sub
Если разбираться в коде, станет понятно, что он довольно «кривой». Но так или иначе, он работает.
Если вам нужно что-то нестандартное, например, несколько заголовков, то вам придется изменить этот код.
Вот и все! Мы рассмотрели 3 варианта добавления заголовков на каждую страницу!
Надеюсь, эта статья оказалась полезна для вас!