Skip to main content

如何從工作簿中創建所有工作表名稱的列表?

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

假設您有一個包含多個工作表的工作簿,並希望自動列出所有工作表名稱,並附上可點擊的超連結以導航到每個相應的工作表。本教程提供了在 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. 將文件保存為「Excel 啟用宏的工作簿」,以確保公式在文件關閉和重新打開後仍然有效。

使用 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