表格自动生成目录怎么设置(wps目录怎么自动生成目录)
如果在一个工作簿内有很多工作表需要去维护管理,一个个的查找显然是很麻烦的,建立一个工作表的导航目录无疑是最便捷的方法。
下面介绍三种生成工作表目录的方法:
一、利用宏表函数生成可导航目录
第1步:定义名称
点击 公式—名称管理器—新建,新建一个“工作表”名称,引用位置:“=Get.workbook(1)”
定义名称
说明:Get.workbook(1)这是一个宏表函数,作用就是获取工作簿中所有所有工作表名称,得到的工作表名称格式为:
[工作簿名]工作表名
第2步:提取工作表名称,并形成带链接的文字
我们新建一个名为“目录”的工作表,在B3单元格里输入如下公式,然后下拉填充:
=IFERROR(HYPERLINK("#"&MID(INDEX(工作表,ROW(A2)),FIND("]",INDEX(工作表,ROW(A2))) 1,10)&"!A1",MID(INDEX(工作表,ROW(A2)),FIND("]",INDEX(工作表,ROW(A2))) 1,10)),"")
这个公式看起来比较复杂,我们可以把它拆分为三个部分,试着来理解。
(1)获取工作簿名 工作表名的组合
“工作表”是我们之前建立的名称,其中存储着工作簿名称 工作表名称组合的数组,index函数可以按照序号取得每一个数组的值,如,index(数组,1)取得数组中第一个元素的值。Row(a2)是一个自增量,他可以随着单元格的下拉获得2、3、4.... 的数字,之所以从a2 开始,一般第一个表为目录,就不再提取目录了。
(2)提取纯净的工作表名称
其中G6是第一步获得的结果,第一步获取的结果为工作簿名 工作表的组合,我们注意到工作表名前面一个字符为“]”([生成目录.xlsx]张三),注意到这个特点,我们可以利用find函数定位“]”的位置,然后利用mid函数提取字符串,字符长度定为10,是因为工作表名不会超过10个字符。这样我们就获得了纯净的工作表名称。
(3)添加链接
I6上一步获得的结果,也就是纯净的工作表名称。利用hyperlink函数添加链接,工作簿内的链接要加上“#”号。
另外,由于可能还会出现一些错误情况,一般在函数的最外边套上一层iferror函数。
第3步:添加返回功能
这一步,需要在所有工作表的相应位置添加返回目录功能。在第一个工作表中的相应位置,比如说A1,添加文字“返回目录”,右键添加链接返回目录页。然后,复制A1单元格,选中其他所有工作表(点第一个,然后,shift点最后一个工作表,就全部选中了),在A1位置右键粘贴,这样所有工作表的A1位置都有返回主页功能。
二、利用WPS智能工具箱
大家注意:这个功能可能只有会员才开放。
点击 开始—表格工具—开启工具箱获得更多功能(前边划上√)
点击 智能工具箱—工作表—创建工作表目录
wps智能工具箱
显示创建表格目录,选择保存位置,设置返回按钮位置,确定即可。
wps智能工具箱
设置步骤
三、利用VBA代码实现
新建一个工作表名为“目录”,打开 开发工具—VBA编辑器—新建模块,输入如下代码,新建一个Creat_Catalog的过程。
Sub Creat_Catalog() Dim ws As Worksheet, rng As Range, n As Integer With ActiveSheet .Range("a2") = "序号" ' 写入标题 .Range("b2") = "名称" For Each ws In Worksheets '遍历所有工作表 If ws.Name <> "目录" Then '去除目录页,目录页不遍历 n = n 1 .Range("a" & n 2) = n '在目录页写入工作表名称,并增加超链接 .Hyperlinks.Add .Range("b" & n 2), "", ws.Name & "!A1", , ws.Name '在每一个工作表中,加入返回字样,并链接到目录页 ws.Hyperlinks.Add ws.Range("a1"), "", "目录!A1", , "返回" End If Next End With End Sub
之后,在目录页新建一个按钮,文字为“生成目录”,右键—指定宏为Creat_Catalog,然后,点击“生成目录”,目录就生成了。这里就不具体解释VBA代码的具体含义了,大家只要按照步骤复制以上代码,就可以实现功能了。
以上三种方法,小伙伴们看看哪种方法适合你呢。