Как создать динамический список имен рабочих листов в Excel?
Если у вас есть несколько листов в книге, и вы хотите создать динамический список всех имен листов на новом листе в книге, как это сделать? В этом руководстве представлены некоторые приемы для быстрого выполнения этой задачи в Excel.
Создание динамического списка имен рабочих листов с помощью определения имени и формулы
Создание динамического списка имен рабочих листов с помощью кода VBA
Создание динамического списка имен рабочих листов с помощью Kutools для Excel
Отображение динамического списка имен рабочих листов с помощью Kutools для Excel
Создание динамического списка имен рабочих листов с помощью определения имени и формулы
1. Выберите ячейку на пустом листе, здесь я выбираю A1, затем нажмите Формулы > Определить имя. См. скриншот:
2. Затем в диалоговом окне Новое имя введите Листы в поле Имя (вы можете изменить по необходимости), и введите эту формулу =SUBSTITUTE(GET.WORKBOOK(1),"["&GET.WORKBOOK(16)&"]","") в текстовое поле «Ссылается на». См. скриншот:
3. Нажмите OK. Затем перейдите к выбранной ячейке (A1) и введите эту формулу =INDEX(Sheets,ROWS($A$1:$A1)) (A1 — это ячейка, в которую вы вводите эту формулу, «Sheets» — это имя, которое вы определили на шаге 2), затем перетащите маркер автозаполнения вниз до появления #REF!.
Совет: Если были удалены или добавлены рабочие листы, вам нужно вернуться в A1, нажать клавишу Enter, а затем снова перетащить маркер автозаполнения.
Создание динамического списка имен рабочих листов с помощью кода VBA
Если вы хотите создать динамический список имен рабочих листов, который может ссылаться на каждый лист, вы можете использовать код VBA.
1. Создайте новый рабочий лист и переименуйте его как Index. См. скриншот:
2. Щелкните правой кнопкой мыши по имени листа Index, выберите Просмотр кода из контекстного меню. См. скриншот:
3. В появившемся окне скопируйте и вставьте следующий код VBA.
VBA: Создание динамического списка имен рабочих листов.
Private Sub Worksheet_Activate()
'Updateby20150305
Dim xSheet As Worksheet
Dim xRow As Integer
Dim calcState As Long
Dim scrUpdateState As Long
Application.ScreenUpdating = False
xRow = 1
With Me
.Columns(1).ClearContents
.Cells(1, 1) = "INDEX"
.Cells(1, 1).Name = "Index"
End With
For Each xSheet In Application.Worksheets
If xSheet.Name <> Me.Name Then
xRow = xRow + 1
With xSheet
.Range("A1").Name = "Start_" & xSheet.Index
.Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _
SubAddress: = "Index", TextToDisplay: = "Back to Index"
End With
Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _
SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name
End If
Next
Application.ScreenUpdating = True
End Sub
4. Нажмите Выполнить или F5 для запуска VBA, теперь создан динамический список имен рабочих листов.
Совет:
1. Когда рабочий лист книги удаляется или вставляется, список имен рабочих листов автоматически изменяется.
2. Вы можете щелкнуть по имени листа в списке имен, чтобы перейти на этот лист.
Перечисленные выше два метода недостаточно удобны, если вас интересует новая утилита, вы можете перейти к следующим двум методам, которые могут облегчить эту задачу.
Создание динамического списка имен рабочих листов с помощью Kutools для Excel
Если вы хотите быстро перечислить все имена рабочих листов книги и связать их с исходными листами, вы можете использовать функцию Kutools для Excel «Создать список имен листов».
После бесплатной установки Kutools для Excel выполните следующие действия:
1. Нажмите Kutools Plus > Лист > Создать список имен листов. См. скриншот:
2. В диалоговом окне «Создать список имен листов»:

(2) Присвойте имя новому индексному листу, введя данные в Имя связующей таблицы текстовое поле;
(3) Укажите расположение, куда вы разместите добавленный индексный лист в Расположение в книге списке;
(4) Если вы хотите отобразить имена листов в одномерном списке, выберите 1 строку в Количество строк для объединения списке.
3. Нажмите Ok. Теперь вы можете видеть, что имена листов перечислены.
Советы:
1. Вы можете щелкнуть по имени листа, чтобы быстро перейти на его исходный лист.
2. Список или имена листов не могут динамически изменяться при добавлении или удалении листов.
3. На самом деле, вы также можете создать список кнопок для связи с соответствующими листами, просто отметьте Создать кнопки и макросы в диалоговом окне. см. скриншот:
Нажмите здесь, чтобы узнать больше о «Создать связующую таблицу».
Создать кликабельный список имен листов
Отображение динамического списка имен рабочих листов с помощью Kutools для Excel
Если вы используете Kutools для Excel, вы также можете использовать утилиту Навигация для отображения кликабельных имен рабочих листов в панели.
После бесплатной установки Kutools для Excel выполните следующие действия:
1. Нажмите Kutools > Навигация. Нажмите Книга и лист для отображения книги и листа, и вы можете выбрать книгу, после чего ее листы будут отображаться в Навигация панели. См. скриншот:
Совет:
Когда листы удаляются или добавляются, вы можете нажать кнопку обновления в Навигационной панели для обновления имен листов.
Нажмите здесь для получения дополнительной информации о Навигации.
Панель навигации -- Список листов
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!