KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何为所有工作表创建目录并实现自动更新?

作者晓阳修改日期

假设您有一个包含数百个工作表的工作簿,在众多工作表中快速定位到特定工作表,对大多数人来说都是一件令人头疼的事。此时,为这些工作表创建一个目录,就能让您轻松、高效地跳转至目标工作表。本教程将为您详细介绍如何为所有工作表创建目录,并实现目录在插入、删除或重命名工作表时自动更新。

使用公式为所有工作表创建目录并自动更新

使用 Kutools for Excel 为所有工作表创建目录并自动更新

使用 VBA 代码为所有工作表创建目录并自动更新


使用公式为所有工作表创建目录并自动更新

在 Excel 中,您可以通过定义一个单元格名称并在公式中引用该名称来创建目录,请按以下步骤操作:

1. 在所有工作表前插入一个新工作表,并根据需要将其重命名为目录工作表。

2. 接着,单击“公式”>“定义名称”,参见下图:

单击“公式”选项卡下的“定义名称”

3. 在“新建名称”对话框中,“名称”框内输入“Sheetlist”(您也可替换为自定义名称),随后在“引用位置”文本框中输入以下公式。

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

在对话框中输入名称和公式

4. 然后,单击“确定”按钮即可关闭对话框。

5. 现在,请切换至用于创建目录的新工作表,并在空白单元格中输入以下公式:

=IFERROR(INDEX(MID(Sheetlist,FIND("]",Sheetlist)+1,255),ROWS($A$2:A2)),"")
注:上述公式中的“Sheetlist”是您在步骤 2 中创建的单元格名称。

6. 然后向下拖动填充柄,直至出现空白单元格为止,此时当前工作簿中的所有工作表名称(包括隐藏工作表)将如以下截图所示列出:

输入公式并拖动以显示所有工作表名称

7. 接下来,请使用以下公式为目录内容创建超链接:

=HYPERLINK("#'"&A2&"'!A1","Go To Sheet")
注:上述公式中的“A2”是包含工作表名称的单元格,“A1”是您希望在该工作表中跳转到的目标单元格。例如,单击超链接文本后,将定位到该工作表的 A1 单元格。

应用公式为每个工作表名称创建超链接

8. 现在,只需单击超链接文本,即可立即跳转至对应工作表。当您插入新工作表、删除工作表或更改工作表名称时,目录内容将自动同步更新。

注意事项:
  • 1. 使用此方法,所有隐藏的工作表也会一并显示在目录中。
  • 2. 请将文件另存为“Excel 启用宏的工作簿”格式,以确保下次打开时公式能正常运行。

使用 Kutools for Excel 为所有工作表创建目录并自动更新

如果您已安装“Kutools for Excel”,其“导航窗格”功能可将所有工作表名称垂直列于左侧窗格,助您快速、轻松地跳转至指定工作表。

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

安装 Kutools for Excel 后,请按以下操作:

1. 单击“Kutools”>“导航”,参见下图:

单击 Kutools > 导航

2. 在展开的“导航”窗格中,单击“工作簿和表”图标,上方列表框将显示所有已打开的工作簿,下方列表框则呈现各工作簿中的所有可见工作表,参见截图:

 单击“工作簿和工作表”图标,所有已打开的工作簿和所有可见工作表将显示在窗格中

3. 现在,只需单击左侧窗格中的工作表名称,即可快速跳转至对应工作表。当您删除、插入或重命名工作表时,窗格中的列表将实时动态更新。

提示:默认情况下,隐藏的工作表不会显示在导航窗格中。若您希望显示这些工作表,只需单击“按下按钮显示隐藏工作表,再次单击则重新隐藏”图标;再次单击该图标即可立即重新隐藏已显示的隐藏工作表。

 单击“切换以取消隐藏/隐藏所有隐藏的工作表”图标以显示隐藏的工作表


使用 VBA 代码为所有工作表创建目录并自动更新

有时,您可能不希望在目录中显示隐藏的工作表。以下 VBA 代码可助您轻松解决此问题。

1. 在所有工作表前插入一个新工作表,并根据需要将其重命名为用于创建目录的名称。随后,右键单击该工作表标签,从上下文菜单中选择“查看代码”,参见截图:

右键单击工作表标签,然后选择“查看代码”

2. 在打开的“Microsoft Visual Basic for Applications”窗口中,将以下代码复制并粘贴到工作表代码窗口中:

VBA 代码:为所有工作表创建目录并自动更新

Private Sub Worksheet_Activate()
'Updateby ExtendOffice
Dim xWsh As Worksheet
Dim xWshs As Worksheets
Dim xShowHinddenWorkSheet As Boolean
Dim xI As Long
Dim xRg As Range
Dim xStrTitle, xStrTCHeader, xStrWShName As String
xShowHinddenWorkSheet = False 'Change this to True to display the hidden sheets as you need
xStrTitle = "A1"
xStrTCHeader = "A3"
On Error Resume Next
Application.ScreenUpdating = False
Me.Cells.Clear
Me.Range(xStrTitle).Font.Bold = True
Me.Range(xStrTitle).Font.Size = Me.Range(xStrTitle).Font.Size + 2
Me.Range(xStrTitle).Value = "Table of Contents"
Me.Range(xStrTCHeader).Value = "No."
Me.Range(xStrTCHeader).Offset(0, 1).Value = "Sheet Name"
Me.Range(xStrTCHeader).Resize(1, 2).Font.Bold = True
xStrWShName = Me.Name
xI = 1
For Each xWsh In Application.ActiveWorkbook.Worksheets
    If xWsh.Name <> xStrWShName Then
        If (xWsh.Visible = xlSheetVisible) Or xShowHinddenWorkSheet Then
            Me.Hyperlinks.Add Anchor:=Me.Range(xStrTCHeader).Offset(xI, 1), Address:="", SubAddress:="'" & xWsh.Name & "'!A1", TextToDisplay:=xWsh.Name
            Me.Range(xStrTCHeader).Offset(xI).Value = xI
            xI = xI + 1
        End If
    End If
Next
Application.ScreenUpdating = True
End Sub

将代码复制并粘贴到模块中

3. 随后,按下“F5”键运行此代码,目录将立即在新工作表中生成完毕,且所有隐藏工作表均不会出现在目录中,详见截图:

运行代码以创建目录

4. 从现在起,删除、插入或重命名工作表时,目录内容将自动动态更新。

注:您还应将 Excel 文件另存为“Excel 启用宏的工作簿”格式,以确保下次打开工作簿时代码能成功运行。

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱