假设你有很多个表格,需要制作一个目录,在第一张表可以点击跳转到相应的表格,以下是一段代码。

Private Sub CommandButton1_Click() Dim I as long Sheets(1).name="目录" For i = 2 To Sheets.Count Cells(i, 1) = Sheets(i).Name Sheets(1).Hyperlinks.Add anchor:=Sheets(1).Cells(i, 1), Address:="", SubAddress:="'" & Sheets(i).Name & "'!a1", TextToDisplay:=Sheets(i).Name Sheets(i).Hyperlinks.Add anchor:=Sheets(i).Cells(1, 1), Address:="", SubAddress:="'目录'!a1", TextToDisplay:="返回" Next End Sub

执行后结果如下:

获取每个表的表名依次放到A2开始的单元格,然后点击还可以跳转

并且每个表的A1点击可以返回。

代码解释如下

Dim I as long 声明数据类型

Sheets(1).name="目录" 将第一个表的名字改为“目录”

For i = 2 To Sheets.Count 从第二个表到最后一个表循环,sheets.count表的个数。

Cells(i, 1) = Sheets(i).Name A2等于第二个表表名,A3等于第三个表表名,以此类推。

Sheets(1).Hyperlinks.Add anchor:=Sheets(1).Cells(i, 1), Address:="", SubAddress:="'" & Sheets(i).Name & "'!a1", TextToDisplay:=Sheets(i).Name

以上代码在表1添加超链接,指向对应表的A1,同时单元格显示表的名字

Sheets(i).Hyperlinks.Add anchor:=Sheets(i).Cells(1, 1), Address:="", SubAddress:="'目录'!a1", TextToDisplay:="返回"

以上代码设置循环中的每个表A1单元格可以跳转到目录表。

有关添加超链接的代码可以参照上一编文章。

本文是VBA连载文章,新来的朋友如果听不懂,后台回复A1,A2,A3,A4,A5获取几十篇初级教程,从第一篇开始阅读。

子曰:用之则行,不用则藏。

意思是说,如果你用我的这些建议,就马上行动,知行合一,如果你不用,就赶紧收藏,以绝后患。