跳至主要内容

如何从工作簿中创建工作表名称列表?

Author: Tech Support Last Modified: 2025-05-08

假设您有一个包含多个工作表的工作簿,并希望自动列出所有工作表名称,同时附上可点击的超链接以导航到每个对应的工作表。本教程提供了在 Excel 中生成工作表名称列表的快速有效方法。

A screenshot showing multiple worksheet names listed in Excel

使用公式动态获取工作簿中的所有工作表名称列表

使用 Kutools for Excel 获取工作簿中的所有工作表名称列表

使用 VBA 代码获取工作簿中的所有工作表名称列表


使用公式动态获取工作簿中的所有工作表名称列表

在 Excel 中,您可以定义一个区域名称,然后应用公式列出当前工作簿中的所有工作表名称,请按照以下步骤操作:

1. 转到“公式”>“名称管理器”,请参见截图:

A screenshot of the Name Manager in Excel to create a named range for worksheet names

2. 在“名称管理器”对话框中,单击“新建”按钮,请参见截图:

A screenshot of creating a new name in the Name Manager for worksheet names

3. 在弹出的“新建名称”对话框中,在“名称”文本框中指定一个名称,然后将以下公式复制到“引用位置”文本框中,请参见截图:

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

A screenshot showing how to define the GET.WORKBOOK formula for listing worksheet names dynamically

4. 然后单击“确定”>“关闭”以关闭对话框,现在,请转到您要列出所有工作表名称的工作表,然后在空白单元格中输入以下公式:

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

注意:在上述公式中,“Sheetnames”是您在步骤 3 中创建的区域名称。

5. 然后向下拖动填充柄直到显示空白单元格为止,现在,当前工作簿中的所有工作表名称已如下截图所示列出:

A screenshot of worksheet names dynamically listed using formulas in Excel

6. 如果您想为每个工作表创建超链接,请使用以下公式:

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

注意:在上述公式中,“A2”是包含工作表名称的单元格,“A1”是您希望活动单元格所在的位置。例如,如果您单击超链接文本,它将定位到该工作表的 A1 单元格。

A screenshot showing hyperlinks created for listed worksheet names in Excel

7. 现在,当您单击超链接文本时,它将带您进入该工作表,请参见以下演示:

A GIF showing how clicking hyperlinks navigates to the respective worksheet in Excel

提示:
  • 1. 使用上述公式,所创建工作表名称会动态列出,当您更改工作簿中的工作表名称时,索引工作表名称将自动更新。
  • 2. 将文件保存为“启用宏的工作簿”以确保公式在文件关闭并重新打开后仍能正常工作。

使用 Kutools for Excel 获取工作簿中的所有工作表名称列表

借助第三方插件“Kutools for Excel”的“创建链接表”功能,您只需单击一下即可创建工作表名称列表,并通过超链接链接到每个工作表。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 单击“Kutools Plus”>“工作表”>“创建链接表”,请参见截图:

A screenshot of the Create List of Sheet Names option in Kutools tab in Excel

2. 在“创建链接表”对话框中,请指定以下设置:

A screenshot of the Create List of Sheet Names dialog

(1.) 选择您喜欢的“类型”,您可以创建工作表名称的超链接或带有宏按钮的链接。

(2.) 输入工作表名称作为工作表索引。

(3.) 指定工作表索引的位置。

(4.) 指定要在新工作表中用于显示工作表名称的列数。

3. 完成设置后,单击“确定”。当前工作簿的新工作表中已列出所有工作表名称并附有链接。请参见截图:

带有超链接的工作表名称 带有宏按钮的工作表名称
A screenshot of worksheet names with hyperlinks created using Kutools A screenshot of worksheet names with macro buttons created using Kutools

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取


使用 VBA 代码获取工作簿中的所有工作表名称列表

1. 按住“ALT”+“F11”键,打开“Microsoft Visual Basic for Applications”窗口。

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”键运行此宏。活动工作簿中的所有工作表名称现在都列在一个名为“Index”的新工作表中,并带有导航到每个相应工作表的超链接。请参见下面的截图:

A screenshot of a new worksheet called Index with all worksheet names in the active workbook listed