Перейти к основному содержанию

Как создать список всех имен рабочих листов из книги?

Предположим, у вас есть книга с несколькими листами, и теперь вы хотите перечислить все имена листов в текущей книге. Есть ли какой-нибудь быстрый способ создать список имен этих листов в Excel, не вводя их один за другим? В этом руководстве приведены инструкции о том, как составить список имен листов в Excel.

Получите список всех имен рабочих листов из книги динамически с формулами

Получите список всех имен рабочих листов из книги с полезной функцией

Получите список всех имен рабочих листов из книги с кодом VBA


Получите список всех имен рабочих листов из книги динамически с формулами

В Excel вы можете определить имя диапазона, а затем применить формулу для перечисления всех имен листов из текущей книги, выполните следующие действия:

1. Перейти к щелчку Формула > Менеджер имен, см. снимок экрана:

2. В Менеджер имен диалоговое окно, нажмите Новые кнопку, см. снимок экрана:

3. В выскочившем Новое имя диалоговом окне укажите имя в поле Фамилия текстовое поле, а затем скопируйте приведенную ниже формулу в Относится к текстовое поле, см. снимок экрана:

=GET.WORKBOOK(1)&T(NOW())

4. Затем нажмите OK > Закрыть чтобы закрыть диалоговые окна, перейдите к листу, на котором вы хотите перечислить все имена листов, а затем введите следующую формулу в пустую ячейку:

=IFERROR(INDEX(MID(Sheetnames,FIND("]",Sheetnames)+1,255),ROWS($A$2:A2)),"")

Внимание: В приведенной выше формуле Имена листов это название диапазона, которое вы обозначили на шаге 3.

5. Затем перетащите дескриптор заполнения вниз к ячейкам, когда отображаются пустые ячейки, и теперь все имена листов текущей книги перечислены, как показано ниже:

6. Если вы хотите создать гиперссылку для каждого листа, используйте приведенную ниже формулу:

=HYPERLINK("#'"&A2&"'!A1","Go To Sheet")

Внимание: В приведенной выше формуле A2 - это ячейка, содержащая имя листа, а A1 - это ячейка, в которой вы хотите разместить активную ячейку. Например, если вы щелкните текст гиперссылки, он найдет ячейку A1 листа.

7. Теперь, когда вы щелкните текст гиперссылки, вы перейдете на этот лист, см. Демонстрацию ниже:

Советы:
  • 1. С помощью приведенных выше формул имена созданных листов отображаются динамически, при изменении имени листа в книге имя индексного листа будет обновлено автоматически.
  • 2. Вы должны сохранить файл как Excel Macro-Enabled Workbook формат, если вы хотите, чтобы формулы работали нормально после закрытия и повторного открытия файла.

Получите список всех имен рабочих листов из книги с полезной функцией

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

Примечание:Чтобы применить это Создать список имен листов, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Нажмите Кутулс Плюс > Рабочий лист > Создать список имен листов, см. снимок экрана:

2. В Создать список имен листов диалоговом окне укажите следующие параметры:

(1.) Выберите стили индексации листов Вы можете создавать имена рабочих листов с помощью гиперссылок или макросов.

(2.) Введите имена рабочих листов для указателя листов.

(3.) Укажите расположение индекса рабочего листа.

(4.) Укажите, сколько столбцов вы хотите использовать в новом листе для отображения имен листов.

3. После завершения настроек нажмите OK. Все имена рабочих листов перечислены со ссылками на новом листе текущей книги. Смотрите скриншот:

имена рабочих листов с гиперссылками имена рабочих листов с кнопками макросов
Функции: Чтобы использовать эту функцию, вам необходимо установить Kutools for Excel во-первых, пожалуйста нажмите, чтобы загрузить и получить 30-дневную бесплатную пробную версию сейчас.

Получите список всех имен рабочих листов из книги с кодом VBA

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули Окно.

VBA: перечислите все имена рабочих листов с гиперссылками на новом листе:

Sub CreateIndex()
'updateby Extendoffice
    Dim xAlerts As Boolean
    Dim I  As Long
    Dim xShtIndex As Worksheet
    Dim xSht As Variant
    xAlerts = Application.DisplayAlerts
    Application.DisplayAlerts = False
    On Error Resume Next
    Sheets("Index").Delete
    On Error GoTo 0
    Set xShtIndex = Sheets.Add(Sheets(1))
    xShtIndex.Name = "Index"
    I = 1
    Cells(1, 1).Value = "INDEX"
    For Each xSht In ThisWorkbook.Sheets
        If xSht.Name <> "Index" Then
            I = I + 1
            xShtIndex.Hyperlinks.Add Cells(I, 1), "", "'" & xSht.Name & "'!A1", , xSht.Name
        End If
    Next
    Application.DisplayAlerts = xAlerts
End Sub

3, нажмите F5 ключ для запуска этого макроса. Теперь все имена листов в активной книге перечислены на новом листе под названием «Индекс», и имена листов также связаны с каждым листом, см. снимок экрана:

Comments (19)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
First, thanks to the author. And adding the Czech version.

tp 3. =O.KNIZE(1)&T(NYNÍ())
tp 4. =IFERROR(INDEX(ČÁST(nazvylistu;NAJÍT("]";nazvylistu)+1;255);ŘÁDKY($A$2:A4));"")
This comment was minimized by the moderator on the site
Hello,

je viens de tester la méthode via macros (dynamique avec formules) et ça marche au poil donc je tiens vraiment à remercier l'auteur de cet article parce que ça va vraiment m'aider dans mon travail ! Juste, je me permet de corriger les formules pour la version française. Et alors je ne sais pas si c'est parce que je suis sous la version 2019 mais Excel rouspète quand il n'y a pas d'argument en 3ème position de la fonction STXT ("MID" en version anglaise) donc obligé d'en rajouter un. Donc voilà ce que ça donne :

=LIRE.CLASSEUR(1)&T(MAINTENANT())

=SIERREUR(INDEX(STXT(nomsFeuilles;TROUVE("]";nomsFeuilles)+1,255;20);LIGNES($A$2:A2));"")

Bon travail à tous ! ;-)
This comment was minimized by the moderator on the site
Hello, Gizmil
Thank you for your comment, there are some functions are only available for English in Excel.
Your formula may help others.
Thanks again!
This comment was minimized by the moderator on the site
I close and open my document and all values in my sheet names column are all gone and blank but still the formula is there. I tried entering the same formula but it doesn't show the value anymore
This comment was minimized by the moderator on the site
Hello, Anne,
Sorrry for replying late, after creating the range names and formulas, you should save the workbook as Excel Macro-Enabled Workbook format, so next time, when you open the Excel file,the formulas can work well.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
I tried this one and it works. But when I close and open the file again all the values in my sheet names are blank and gone but the formula is still there. I tried enteing the same formula again but it doesn't show the value anymore
This comment was minimized by the moderator on the site
BRILLIANT!! Thank you so much! 😊
This comment was minimized by the moderator on the site
Causes problems when document protection is enabled by email or corporate policy
This comment was minimized by the moderator on the site
Thanks so much, this worked great.
This comment was minimized by the moderator on the site
Works great!! Thank you!!!!
This comment was minimized by the moderator on the site
sooooo helpful, works as expected!!!!! Thanks
This comment was minimized by the moderator on the site
THANK YOU SO MUCH! I freaking love your website. In a matter of minutes I've had a ton of time saved with two sections of this site including this one. Love it!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations