Оглавление рабочей книги: как быстро получить список всех листов
Чтобы сделать список всех листов в Excel, проще всего использовать встроенное меню навигации (правый клик на стрелки прокрутки) или создать интерактивное оглавление с гиперссылками через макрос. Это позволяет мгновенно переходить между вкладками в файлах с большим количеством страниц. Ниже приведены подробные инструкции для разных сценариев: от разового просмотра до создания постоянной панели навигации.
Быстрый просмотр без создания списка Если вам нужно просто увидеть перечень и перейти на нужный лист, не создавая новых таблиц: нажмите правой кнопкой мыши на маленькие стрелочки навигации в левом нижнем углу экрана (возле первого листа). Откроется окно «Навигация» со списком всех вкладок. Клик по имени сразу откроет нужный лист.
Способ 1: Интерактивное оглавление с гиперссылками (VBA)
Это самый удобный метод для постоянной работы. Он создает отдельный лист, где каждое имя является активной ссылкой. При клике вы мгновенно попадаете на нужную вкладку.
- Откройте файл Excel и нажмите комбинацию клавиш Alt + F11, чтобы запустить редактор VBA.
- В меню выберите Insert > Module.
- Скопируйте и вставьте следующий код в появившееся окно:
Sub CreateSheetIndex()
Dim ws As Worksheet
Dim indexSheet As Worksheet
Dim i As Integer
' Создаем новый лист для оглавления
Set indexSheet = Sheets.Add(Before:=Sheets(1))
indexSheet.Name = "Оглавление"
' Оформляем заголовок
Range("A1").Value = "Список листов книги"
Range("A1").Font.Bold = True
Range("A1").Font.Size = 14
i = 2
' Проходим по всем листам и создаем гиперссылки
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Оглавление" Then
Hyperlinks.Add Anchor:=Cells(i, 1), _
Address:="", SubAddress:="'" & ws.Name & "'!A1", _
TextToDisplay:=ws.Name
i = i + 1
End If
Next ws
' Автоподбор ширины столбца
Columns("A:A").AutoFit
End Sub
- Нажмите F5 или кнопку запуска (зеленый треугольник), чтобы выполнить макрос.
- Вернитесь в Excel — первый лист будет содержать кликабельный список всех остальных вкладок.
Файл с макросами необходимо сохранять в формате .xlsm (Книга Excel с поддержкой макросов). Если сохранить как обычный .xlsx, код будет удален при закрытии файла.
Способ 2: Динамический список через функцию старых версий
Этот метод позволяет вывести список формулой, но требует включения макросов в настройках безопасности, так как использует устаревшую функцию макроса Excel 4.0.
- Создайте новый лист и назовите его, например,
Список. - Выделите ячейку A1.
- Перейдите на вкладку Формулы > Определить имя (или нажмите Ctrl+F3).
- В поле «Имя» введите:
СписокЛистов. - В поле «Диапазон» вставьте формулу:
=GET.WORKBOOK(1)&T(NOW()) - Нажмите ОК.
- Теперь в ячейку A1 на листе введите формулу:
=ИНДЕКС(СписокЛистов; СТРОКА(A1))(Для английской версии:=INDEX(ListOfSheets, ROW(A1))) - Протяните формулу вниз, пока не появятся ошибки
#ССЫЛКА!. Это значит, что список закончился.
Результат будет содержать имена листов с названием книги в начале. Чтобы убрать имя файла, можно дополнить формулу функциями замены текста, но базовый вариант уже пригоден для навигации.
Способ 3: Использование надстроек (без кода)
Если вы не хотите работать с кодом или включать макросы, можно воспользоваться готовыми надстройками или онлайн-конвертерами, но наиболее надежный встроенный инструмент без программирования — это ручное создание гиперссылок через контекстное меню, если листов немного (до 10-15).
Для больших файлов без использования VBA альтернативой служит панель «Области» (View > Navigation Pane) в новых версиях Excel 365, которая отображает структуру книги сбоку, хотя и не создает отдельного листа-оглавления.
Сравнение методов создания списка
| Метод | Сложность | Наличие ссылок | Требует макросов | Актуальность данных |
|---|---|---|---|---|
| Меню навигации (стрелки) | Очень легко | Да (временное) | Нет | Всегда актуально |
| Макрос (Способ 1) | Средне | Да (постоянно) | Да | Требует перезапуска макроса |
| Формула GET.WORKBOOK | Средне | Нет (текст) | Да (настройки) | Обновляется автоматически |
| Ручной ввод | Долго | Да (вручную) | Нет | Требует ручного обновления |
Частые ошибки
- Ошибка «Макросы отключены»: При попытке запустить скрипт или использовать формулу
GET.WORKBOOKничего не происходит. Решение: Файл > Параметры > Центр управления безопасностью > Параметры макросов > Выберите «Включить все макросы» (для тестов) или «Отключать все макросы с уведомлением». - Ошибка сохранения: После создания оглавления файл сохраняется как
.xlsx, и при следующем открытии список исчезает. Решение: Всегда используйте «Сохранить как» и выбирайте тип файла Книга Excel с поддержкой макросов (.xlsm). - Неверные ссылки при переименовании: Если вы используете статические ссылки (не через макрос), а затем переименуете лист, ссылка может сломаться. Макрос из Способа 1 при повторном запуске создаст новый чистый список с актуальными именами.
FAQ
Можно ли обновить список листов автоматически при добавлении новой вкладки? Стандартными формулами Excel это сделать нельзя. Список на основе макроса (Способ 1) обновляется только при повторном запуске макроса. Для полной автоматизации требуются сложные события Workbook_SheetActivate, которые могут замедлять работу файла.
Работает ли это в Excel Online (веб-версия)?
Нет. Веб-версия Excel не поддерживает макросы (VBA) и функции старого типа GET.WORKBOOK. В онлайн-режиме доступен только способ через меню навигации (клик по стрелкам внизу слева).
Как удалить созданный список листов? Просто удалите лист, который был создан для оглавления (например, «Оглавление» или «Список»). Это никак не повлияет на остальные данные в книге.