EXCEL:用VBA获取所有工作表名称并加上超链接
来源:网络收集 点击: 时间:2024-02-18如下图示例中效果,工作表列表放置在B列中,工作表的增加、减少,该列表会自动更新。

在工作簿的“SheetActivate”事件中放置VBA语句,即可实现上述目标。
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim shtIndex As Worksheet
If ActiveSheet.Name = Sheet1 Then 判断只有激活了总索引表才更新目录
Set shtIndex = ThisWorkbook.Sheets(sheet1) 为方便之后调用,定义索引表名
For i = 1 To ThisWorkbook.Worksheets.Count 遍历所有工作表
shtIndex.Cells(i, 2).Select 选中第二列的单元格
With Selection:
.Value = ThisWorkbook.Worksheets(i).Name 选中的单元格赋予工作表名称
在单元格中加上超链,链接到目标工作表的A1单元格
.Hyperlinks.Add Anchor:=Selection, Address:=, SubAddress:=shtIndex.Cells(i, 2).Value !A1, TextToDisplay:=shtIndex.Cells(i, 2).Value
End With
Next 结束循环
End If
End Sub
解析:
1、Workbook_SheetActivate事件,只要工作簿的任一工作表被选择,都会触发该事件。从而可以有效监控工作的名称修改、顺序调整等。
2、遍历所有工作表,确保不漏不丢:
For i = 1 To ThisWorkbook.Worksheets.Count
3、.Hyperlinks.Add Anchor链接到指定的工作表
4、shtIndex.Cells(i, 2).Select工作表列表存放位置,可根据需要修改

个人经验,仅供参考
更多OFFICE应用技巧,欢迎关注、点赞~
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_62521.html