如何在VBA中为我的所有工作簿工作表创建超链接目录?

时间:2015-10-15 19:30:08

标签: vba excel-vba excel

我在一张名为“索引”的工作表的A列中有一个超过100个工作表名称的列表。每个工作表名称自然对应于我的工作簿中的工作表。

如何链接“索引”中显示的每个工作表名称,以便我可以通过点击链接轻松访问每个相应的工作表?

1 个答案:

答案 0 :(得分:0)

有关详细信息,请参阅我的答案List all sheets with link

Sub CreateLinksToAllSheets()
Dim sh As Worksheet
Dim sh2 As Worksheet
Dim cell As Range
Dim lRow As Long

    'This is the sheet we will add the links to
    Set sh = ActiveWorkbook.Sheets("Sheet1")
    lRow = 1

    'Loop each sheet
    For Each sh2 In ActiveWorkbook.Worksheets

        'Make sure we are not on the current sheet or a sheet named 
        ' something we don't want to create a link for.
        If ActiveSheet.name <> sh2.name AND sh2.name <> "new customer" AND sh2.name <> "old archive" Then

            'Make sure we don't have a single quote in the sheet name.
            strLink = sh2.name
            If InStr(strLink, "'") Then
                strLink = Replace(strLink, "'", "''")
            End If

            'Create a hyperlink to that sheet.
            sh.Hyperlinks.Add Anchor:=sh.Range("A" & lrow), Address:="", SubAddress:="'" & strLink & "'" & "!A1", TextToDisplay:=sh2.name

            lRow = lRow + 1

        End If

    Next sh2

End Sub