创建一个名为“目录”的事情表,并在个中列出其他事情表的超链接,同时在每个事情表中添加了一个用于返回目录的超链接。
Sub CreateHyperlinks() Dim sht As Worksheet, directorySheet As Worksheet Dim i As Long, strShtName As String ' 查找目录事情表是否存在 On Error Resume Next Set directorySheet = ThisWorkbook.Worksheets("目录") On Error GoTo 0 ' 如果不存在,则创建一个目录事情表 If directorySheet Is Nothing Then Set directorySheet = Worksheets.Add(before:=Worksheets(Worksheets.Count)) directorySheet.Name = "目录" End If ' 写入目录标题 directorySheet.Cells(1, 1).Value = "目录" ' 创建名为“目录”的命名范围 On Error Resume Next ThisWorkbook.Names.Add Name:="目录", RefersTo:=directorySheet.Range("A1") On Error GoTo 0 i = 1 ' 初始化计数器 ' 遍历每个事情表 For Each sht In ThisWorkbook.Worksheets strShtName = sht.Name ' 如果事情表名称不是目录事情表的名称,则创建超链接 If strShtName <> directorySheet.Name Then i = i + 1 ' 计数器递增 ' 建立超链接 directorySheet.Hyperlinks.Add Anchor:=directorySheet.Cells(i, 1), Address:="", _ SubAddress:="'" & strShtName & "'!A1", TextToDisplay:=strShtName End If Next ' 添加返回目录项 For Each sht In ThisWorkbook.Worksheets If sht.Name <> directorySheet.Name Then If sht.Cells(1, 7).Value <> "返回目录" Then sht.Cells(1, 7).Value = "返回目录" ' 在G1单元格写入返回目录 End If ' 建立超链接 sht.Hyperlinks.Add Anchor:=sht.Cells(1, 7), Address:="", _ SubAddress:="目录!A1", TextToDisplay:="返回目录" End If NextEnd Sub