Как поставить номера страниц в Excel: все способы от простого к сложному

Зачем нужна нумерация страниц в Excel и когда без неё не обойтись

Работа с большими таблицами в Microsoft Excel часто превращается в головоломку, когда дело доходит до печати. Представьте: вы подготовили отчёт на 50 страниц, распечатали его, а потом обнаружили, что листы перепутаны, а найти нужный раздел невозможно. Вот здесь и приходит на помощь нумерация страниц — простой, но критически важный инструмент для структурирования документов.

Номера страниц в Excel нужны не только для удобства чтения. Они обязательны в официальных документах (акты, отчёты, финансовые ведомости), где требуется скрепление листов печатью или подписью. Без нумерации такой документ могут вернуть на доработку. К тому же, при работе с книгами Excel, содержащими несколько листов, номера помогают быстро сориентироваться, к какой части отчёта относится конкретная страница.

В этой статье мы разберём все возможные способы проставить номера страниц — от стандартных колонтитулов до автоматизации через макросы. Вы узнаете, как нумеровать страницы в Excel 2010-2019 и Microsoft 365, а также получите ответы на частые вопросы: почему номера сбиваются при печати, как сделать сквозную нумерацию для всей книги и можно ли начать счёт не с единицы.

Способ 1: Нумерация через колонтитулы (стандартный метод)

Самый распространённый и универсальный способ добавить номера страниц — использовать колонтитулы. Этот метод работает во всех версиях Excel и не требует знаний программирования. Номера будут автоматически обновляться при изменении количества страниц.

Чтобы проставить нумерацию:

  1. Перейдите во вкладку ВставкаКолонтитулы (или Разметка страницыКолонтитулы в зависимости от версии).
  2. Кликните по верхнему или нижнему колонтитулу (в зависимости от того, где хотите разместить номер).
  3. В панели инструментов колонтитулов выберите Номер страницы (иконка с символом "#").
  4. При необходимости отформатируйте номер: измените шрифт, размер или добавьте префикс (например, "Стр. ").
  5. Закройте режим редактирования колонтитулов, кликнув за пределами области.

По умолчанию номер страницы будет отображаться в режиме разметки (Вид → Разметка страницы). Чтобы увидеть, как это будет выглядеть при печати, используйте Файл → Печать или комбинацию клавиш Ctrl+F2.

Добавили номер страницы в колонтитул|Указали правильное положение (верх/низ)|Проверили предварительный просмотр|Настроили поля страницы (не менее 1 см)|Убедились, что номера не наезжают на текст-->

Обратите внимание: если вы изменяете масштаб страницы или границы печатаемой области, номера автоматически пересчитаются. Это удобно, но иногда приводит к неожиданным сбоям — например, если часть таблицы не помещается на лист и переносится, а номер остаётся на предыдущей странице.

Способ 2: Нумерация с помощью функции СТРАНИЦА() в ячейках

Если вам нужно, чтобы номера страниц отображались непосредственно в ячейках таблицы (а не в колонтитулах), можно использовать функцию =СТРАНИЦА(). Этот метод полезен, когда требуется интегрировать номер в дизайн документа или когда колонтитулы по какой-то причине не подходят.

Инструкция:

  1. Выделите ячейку, где должен отображаться номер страницы (обычно это крайний правый верхний или нижний угол листа).
  2. Введите формулу:
    =СТРАНИЦА()
  3. Скопируйте эту ячейку на все листы книги, если нужна сквозная нумерация.
  4. При печати убедитесь, что ячейка с номером попадает в печатаемую область (иначе номер не отобразится).

Важный нюанс: функция СТРАНИЦА() возвращает номер печатаемой страницы, а не листа книги. То есть, если ваш лист занимает 3 страницы при печати, то в ячейке будет отображаться 1, 2 и 3 соответственно. Это отличается от нумерации в колонтитулах, где можно настроить сквозной счёт для всей книги.

Почему функция СТРАНИЦА() может показывать неверные значения?

Функция СТРАНИЦА() зависит от текущих настроек печати. Если вы измените ориентацию страницы, масштаб или границы печатаемой области, номера автоматически пересчитаются. Например, при уменьшении масштаба с 100% до 80% количество страниц может сократиться, и нумерация "сдвинется". Чтобы избежать путаницы, фиксируйте настройки печати перед добавлением функции.

Этот способ удобен для создания динамических отчётов, где номер страницы должен быть частью таблицы. Например, в финансовых документах иногда требуется указывать номер страницы рядом с подписью ответственного лица.

Способ 3: Сквозная нумерация для всей книги Excel

По умолчанию Excel нумерует страницы отдельно для каждого листа. Но что делать, если у вас книга из 10 листов, и вам нужна сквозная нумерация (1, 2, 3... 50)? Для этого потребуется небольшая хитрость с макросами или ручная настройка.

Самый надёжный способ — использовать пользовательский колонтитул с кодом VBA. Вот пошаговая инструкция:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. В окне проекта найдите папку ThisWorkbook и дважды кликните по ней.
  3. Вставьте следующий код:
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    

    Dim ws As Worksheet

    Dim totalPages As Long

    Dim currentPage As Long

    ' Считаем общее количество страниц во всех листах

    For Each ws In ThisWorkbook.Worksheets

    totalPages = totalPages + ExecuteExcel4Macro("GET.DOCUMENT(50)")

    Next ws

    ' Устанавливаем сквозную нумерацию

    currentPage = 1

    For Each ws In ThisWorkbook.Worksheets

    ws.PageSetup.RightFooter = "Страница " & currentPage & " из " & totalPages

    currentPage = currentPage + ExecuteExcel4Macro("GET.DOCUMENT(50)")

    Next ws

    End Sub

  4. Закройте редактор VBA и сохраните книгу как файл с поддержкой макросов (.xlsm).

Теперь при каждом открытии предварительного просмотра печати (Ctrl+F2) номера будут автоматически пересчитываться с учётом всех листов. Этот метод особенно полезен для многостраничных отчётов, где важна целостность нумерации.

Способ 4: Нумерация с префиксами (например, "Лист 1 — Страница 3")

В некоторых случаях требуется не просто номер страницы, а комбинированная нумерация, включающая название листа. Например: "Отчёт за январь — Страница 2". Это актуально для книг с множеством листов, где важно понимать, к какому разделу относится та или иная страница.

Сделать это можно через колонтитулы с использованием пользовательского текста:

  1. Перейдите в режим редактирования колонтитулов (Вставка → Колонтитулы).
  2. В левой части колонтитула введите текст: &"Arial,Regular"&12 Название листа: &[Tab] (замените "Название листа" на актуальное).
  3. В правой части добавьте: Страница &[Page] из &[Pages].
  4. Для автоматического подставления имени листа используйте код VBA:
    ActiveSheet.PageSetup.LeftHeader = "&""Arial,Regular""&10 &""Имя листа: "" & ActiveSheet.Name

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

Private Sub Worksheet_Activate()

ActiveSheet.PageSetup.LeftHeader = "&""Arial,Regular""&10 &""Имя листа: "" & ActiveSheet.Name

End Sub

Этот подход часто применяется в юридических документах или технических спецификациях, где требуется жёсткая привязка страниц к разделам.

Распространённые ошибки и как их избежать

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

Проблема Причина Решение
Номера страниц не отображаются при печати Колонтитулы выходят за пределы печатаемой области Уменьшите поля страницы или уменьшите размер шрифта в колонтитуле
Нумерация начинается не с 1 В настройках страницы указано другое начальное значение Перейдите в Разметка страницы → Параметры страницы → Страница и установите "Первая страница: 1"
Номера сбиваются при изменении масштаба Функция СТРАНИЦА() или колонтитулы зависят от разметки Зафиксируйте масштаб перед нумерацией или используйте VBA для динамического пересчёта
Вместо номеров печатаются коды (&[Page]) Колонтитулы не интерпретируются как поля Убедитесь, что вы вставили номер через панель инструментов колонтитулов, а не вручную

Критическая ошибка: если вы используете функцию СТРАНИЦА() в ячейках, но забыли включить печать сетки или границ, номера могут "потеряться" на белом фоне. Всегда проверяйте предварительный просмотр!

📊 Какой способ нумерации вы используете чаще всего?
Колонтитулы
Функция СТРАНИЦА() в ячейках
Макросы VBA
Ручная нумерация
Не нумерую страницы

Ещё одна типичная проблема — разные номера в колонтитулах и функции СТРАНИЦА(). Это происходит потому, что колонтитулы считают страницы на основе текущей разметки, а функция СТРАНИЦА() может учитывать скрытые строки или столбцы. Чтобы синхронизировать значения, используйте один метод нумерации для всего документа.

Продвинутые приёмы: автоматическая нумерация с условиями

Для сложных документов иногда требуется условная нумерация. Например, пропускать номера на титульном листе или начинать счёт с определённого значения. Это можно реализовать через VBA или комбинацию функций.

Пример 1: Пропуск нумерации на первом листе (титульник):

Sub SkipFirstPageNumbering()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

If ws.Index = 1 Then

ws.PageSetup.FirstPageNumber = xlAutomatic ' Пропускаем нумерацию

Else

ws.PageSetup.FirstPageNumber = 1 ' Начинаем с 1

End If

Next ws

End Sub

Пример 2: Нумерация с префиксом по разделам (например, "Раздел А-1, Раздел Б-1"):

Sub CustomPageNumbering()

Dim ws As Worksheet

Dim sectionPrefix As String

For Each ws In ThisWorkbook.Worksheets

Select Case ws.Name

Case "Раздел_A": sectionPrefix = "А-"

Case "Раздел_B": sectionPrefix = "Б-"

Case Else: sectionPrefix = ""

End Select

ws.PageSetup.RightFooter = sectionPrefix & "Страница &[Page] из &[Pages]"

Next ws

End Sub

Эти приёмы полезны для многоуровневых отчётов, где требуется иерархическая нумерация. Например, в технической документации или учебных пособиях, где каждый раздел имеет собственную систему счёта.

FAQ: Ответы на частые вопросы о нумерации страниц в Excel

Можно ли начать нумерацию не с 1, а с произвольного числа?

Да. Перейдите в Разметка страницы → Параметры страницы → Страница и в поле "Первая страница" укажите нужное число (например, 5). Это работает как для колонтитулов, так и для функции СТРАНИЦА().

Почему при печати номера страниц наезжают на текст?

Это происходит из-за слишком маленьких полей страницы. Увеличьте отступы в настройках: Разметка страницы → Поля. Оптимальное значение — не менее 1,5 см для верхнего и нижнего колонтитулов.

Как сделать нумерацию в формате "1 из 10"?

В колонтитуле используйте конструкцию: Страница &[Page] из &[Pages]. Для функции в ячейке потребуется VBA, так как СТРАНИЦА() не поддерживает автоматический подсчёт общего количества страниц.

Можно ли нумеровать страницы по-разному в чётных и нечётных листах?

Да. В настройках колонтитулов есть опция "Разные колонтитулы для чётных и нечётных страниц". Активируйте её в Разметка страницы → Параметры страницы → Страница.

Как убрать номер страницы с титульного листа?

В настройках страницы (Разметка страницы → Параметры страницы) поставьте галочку "Разные колонтитулы на первой странице", а затем удалите номер из колонтитула первого листа.