图:狮子鱼
十二少摄于重庆欢乐海底世界
2016年8月28日
收到客户的一个EXCEL,里面好多个sheet表,每个表的名字又都特别长,数都数不清,我知道word里面有个“插入目录”的功能,可以将正文中各个段落的标题整理成目录放在某一页,要是EXCLE可以把这些sheet表,也整理成一个目录文档还加上链接就好了。
第一步:打开EXCEL,在第一个sheet表前面插入一个空白的sheet表,改名为“目录”;
第二步:鼠标停留在目录表中的任何位置,单击ALT+F11,弹出以下界面:
第三步:单击【视图】-【代码窗口】:
第四步:在弹出的代码界面复制粘贴以下代码:
Sub getAllWorkSheets()
' 得到所有的sheet页名称,并加上超连接
totalNum = Worksheets.Count
Sheet1.Activate
Range("B:B").Select
Selection.NumberFormatLocal = "@"
' 从2开始就是不带“目录”Sheet页,如果要带,则从1开始
For index_i = 2 To totalNum
sheetName = Worksheets(index_i).Name
Cells(index_i, 2) = sheetName
tar_sheet = "'" & sheetName & "'"
Cells(index_i, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
tar_sheet & "!A1", TextToDisplay:=sheetName
Next index_i
End Sub
第五步:第四行代码 Sheet1.Activate,要根据左边目录所在sheet的实际数字修改,比如左边的目录所在的Sheet 显示的是sheet23,则要修改成 Sheet23.Activate,见下图:
第六步:运行,点击绿色三角符号,等待一会。
第七步:返回目录表格,查看目录:
大功告成,终于又愉快地偷了一次懒!
再啰嗦一下,如果运行时报以下错:
那代表没有找到目录所在的Sheet表,修改第四行Sheet后面的数字为正确的即可。
长按图片,识别二维码,关注公众号,谢谢支持!