一个Excel工作薄,可能包含多个工作表;这时我们就希望能有一个工作表目录,一方面,可以纵览薄里有多少表、都是什么名字,另一方面,也可以通过超链接快速查看相关工作表内容。
那么说起工作表目录来,您首先想到的是什么?
函数?
厉害!不愧是拥有函数神技的办公高手。
不过,通常情况下,我们可以使用Excel自带的工作表目录功能。
如上GIF动画所示,右键单击工作表左下角的两个小三角及之间的区域,Excel就会弹出一个类似工作表目录的界面;单击界面上的相应表名可以激活对应的工作表。
是不是很方便呢?
然而虽然已经很方便了,但是——确实还不够!
有些时候,Excel自带的这个工作表目录界面就有些不够看了。
工作表很多时,它的界面太小,一页放不下,查看起来很不方便;
另外它也不够美观,制作Excel模版时,给别人用起来又有点怪,别人问你,大哥,你做的Excel模版,我想找某个工作表,好难啊。
你回说:笨蛋,你点这里,点那样,这样那样……嗯嗯,What are you 懂?
当然,最重要的一点,它不好欺负,我们看它哪里不爽,不好修理它,比如想把界面拉宽放大点,一般人就没辙,二班人就很二。
所以还得回到函数的方法上?
——NO!
函数方法也挺好的,但需要用到宏表函数,还得定义名称,有点小绕。
打个响指,请看大标题——我们今天分享的是一键生成工作表目录。
请看操作动画:
动画中所使用代码如下:
Sub ml()
Dim sht AsWorksheet, i&, n$
Columns(1).ClearContents
'清空A列数据
Cells(1, 1)= "目录"
'第一个单元格写入字符串"目录"
i = 1
'将i的初值设置为1.
For Each shtIn Worksheets
'循环当前工作簿的每个工作表
n =sht.Name
If n<> ActiveSheet.Name Then
'如果sht的名称不是当前工作表的名称则开始建立超链接
i =i + 1
'累加i
ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:="", _
SubAddress:=”’” & n & "’!a1", TextToDisplay:=n
'建超链接
End If
Next
End Sub
代码解析补充:
小代码里用到了Hyperlinks.Add语句,这里用一个图片来解释它的每个参数。
——Then End----
投稿邮箱:[email protected]
易学宝微视频教程是一套面向职场人士的Office技巧精粹,1290个技巧,都与实际工作密切相关。轻松学习技巧,练就职场达人,淘宝搜索关键字:ExcelHome易学宝