制作自动更新的工作表目录的最简便方法是使用 Power Query 获取工作表名称,但许多用户反映其 Excel 版本不支持此功能。本文将分享另一种不限制 Excel 版本的解决方法,操作起来稍显繁琐,但也能够实现自动更新。下面我们来一步步操作:
点击这里从零学习 Excel
1. Get.workbook
Get.workbook:提取工作簿中的信息
语法:=GET.WORKBOOK(信息类型,名称)
第二个参数是一个可选参数,通常省略,表示获取当前工作簿的信息。
Get.workbook 是一个宏表函数,需要配合 index + 定义名称。只需要将名称定义为:=Get.workbook(1) & T(RAND()) 即可获取工作簿名称和工作表名称。
2. Hyperlink
Hyperlink:创建超链接
语法:=HYPERLINK(链接地址,显示的名称)
这是我们需要使用的两个函数。制作过程是利用 Get.workbook 动态获取工作表名称,然后利用 Hyperlink 函数创建超链接。
1. 定义名称
单击【公式】功能组中的【定义名称】,会出现一个定义名称窗口。在其中将名称设置为【XX】,然后在最下方将公式设置为:=Get.workbook(1) & T(RAND()) 最后单击确定即可。
2. 获取名称
单击 A1 单元格,然后将公式设置为:=IFERROR(INDEX(XX,ROW(A1)),""),然后向下填充,便可获取工作簿名称和工作表名称。如果要实现目录自动更新,则需要多拉取一些公式。如果工作表数量大于公式数量,新增的工作表将无法自动显示。
3. 获取工作表名称
现在获取的名称是工作簿名称 + 工作表名称,而我们只需要工作表名称。提取方法有很多,这里使用 len + right 函数进行提取。
只需要将公式设置为:=IFERROR(RIGHT(A1,LEN(A1)-9),""),然后向下填充即可。公式中的 9 实际上是 [3月.xlsm] 这部分的字符数,可根据实际情况设置,使用 len 函数可以快速计算字符数。
获取了工作表名称之后,就可以着手制作超链接了。制作超链接需要用到 Hyperlink 函数,只需要将函数设置为:=HYPERLINK(""& B1&,B1) 然后向下填充即可。
第一个参数:“"& B1&, 表示跳转的位置,即每个工作表中的 A1 单元格。 号必不可少,表示当前的工作簿。
第二个参数:B1,即工作表名称,也是函数显示的结果。
可以利用地址栏制作返回目录,本质上是定义名称。单击 A1 单元格,然后在地址栏中输入【返回】两个字,单击确定即可。这样,单击工作表名称将会发生跳转,在地址栏中单击返回即可回到目录。最后将多余的 2 列隐藏掉,设置要显示的格式,添加网格线,制作完成。
1. 格式问题
这里使用了宏表函数,本质上是 VBA,要保存这些函数,需要将文件设置为可以保存 VBA 代码的格式,常见的格式是 xlsm。只需另存 Excel,然后在【保存类型】中选择 xlsm 格式即可。
2. 设置问题
关闭后如果目录突然不显示,并且已启用宏功能,可能原因是没有启用宏表函数。需要在 Excel 中进行设置。
打开 Excel 选项,然后单击【信任中心】,选择【信任中心设置】,找到【宏设置】,勾选【启用 VBA 时启用 Excel 4.0 宏】即可,这样就不会显示为错误值了。
以上是今天的全部分享。怎么样?你学会了吗?
我是 Excel 从零到一,关注我,持续分享更多 Excel 技巧。