背景
当excel工作簿(workbook)中有很多个工作表(sheets)时,来回的查找、切换工作表非常的费时费力费眼神~~~
这个时候往往会想到新建一个工作表,在这个工作表当中创建所有的sheets的目录并加入超链接,这样的话可以根据这个目录来随时查看所需要的工作表的信息,如下图:
很显然,工作表少的话,手工挨个创建问题不大。工作表非常多的话,或者工作表数量经常会发生变化的话,手工创建是不太现实的。
今天分享的这个实例就是解决这个问题的:为多个sheets创建目录和超链接。
思路
1、遍历所有的sheets(除了当前“目录”工作表)。
For Each sht In ThisWorkbook.Sheets
If sht.Name <> "目录" Then
...具体操作...
End If
Next
2、获取所有的sheets的名字(sht.Name),依次填入“目录”工作表中,n_row
为填入单元格的列。
Sheets("目录").Range("A" & n_row).Value = sht.Name
3、为创建的目录添加超链接,同时为每一个sheet添加返回“目录”工作表的超链接
Hyperlinks.Add Anchor:=Range("A" & n_row), Address:="", SubAddress:="'" & sht.Name & "'" & "!A1"
Sheets(sht.Name).Hyperlinks.Add Anchor:=Sheets(sht.Name).Range("A1"), Address:="", SubAddress:="目录!A1"
’返回“目录”工作表的超链接
完整代码:
效果演示
你可能还会想看:
微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com