之前我介绍了在Excel中设置目录页的方法,其中用到了自定义名称、宏表函数,还有一个复杂的长公式来生成链接,就是下面这个,你们感受一下复杂程度。
=IFERROR(HYPERLINK("#'"&MID(INDEX(ws,ROW(A1)),FIND("]",INDEX(ws,ROW(A1)))+1,100)&"'!A1",MID(INDEX(ws,ROW(A1)),FIND("]",INDEX(ws,ROW(A1)))+1,100)),"")
可能很多人看了之后就懵了,直接就没耐心看下去了。
想了解这种使用公式方法的,请点下面链接直达。
如果你怕麻烦,但是又想制作目录页,没问题,我这里用VBA写了一小段代码,执行代码就可以自动生成目录了。
下面是代码:
在工作簿的VBA编辑器中插入一个模块,加入该代码,执行即可。
执行完代码,就可以得到下面的结果(A1单元格的“目录”两个字是手动加的):
解释
1、如果你的目录工作表名称不是“目录”,请修改下面代码中的“目录”;
If Worksheets(i).Name <> "目录" Then
2、如果想把链接放到其他行、列,请更改如下代码中Cells里面的参数,i表示行号,可以在i后面加上数字,1表示第一列,可以改成其他列;
Worksheets("目录").Cells(i, 1).Formula = _
3、如果你想在显示文字前后加上内容,请在下面代码中第二个Worksheets(i).Name前面加上内容。
"=Hyperlink(""#'" & Worksheets(i).Name & "'!A1""" & ",""" & Worksheets(i).Name & """)"
例如:
"=Hyperlink(""#'" & Worksheets(i).Name & "'!A1""" & ",""转到:" & Worksheets(i).Name & """)"
如果你想自己更加灵活的设置,还可以使用下面这个自定义函数,再配合工作表中的HyperLink函数就可以自己设置链接了。
例如,在B2单元格输入以下公式,我们可以修改公式最后一个参数,显示自定义的内容,也可以放到其他位置,可以修改Row(),不链接其中的某些工作表等。
=HYPERLINK("#'"&ws(ROW())&"'!A1",ws(ROW()))
--End--
欢迎加入QQ群9735376下载示例文件。
联系客服