Macro excel支持Index并跳过创建索引超链接的超链接

时间:2016-03-25 18:28:23

标签: excel vba excel-vba

我有一个宏来重做我们的BI工具生成的目录页面。我这样做的原因是我重命名并使用工作表中的所有选项卡。我有两个问题我想解决:

1。我正在尝试跳过为第一张纸生成的超链接  2.我想在每个地方添加一个位置(I1)的超链接     其他工作表,创建一个回到表的超链接     内容。

Sub listsheets()
Dim i As Integer
i = 2
Sheets("TOC").Select
Range("C6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
For Each s In Sheets

ActiveCell.formula = "=Hyperlink(""i'" & s.Name & "'!A4"",""" & s.Name & """)"
ActiveCell.Offset(1, 0).Activate
i = i + 1
Next s

End Sub

1 个答案:

答案 0 :(得分:1)

这样的事情:

Sub listsheets()

Dim i As Long
Dim rng As Range

Sheets("TOC").Select
Range(Range("C6"), Range("C6").End(xlDown)).ClearContents
Range("C6").Select
For Each s In Sheets
If s.Name <> "TOC" Then
Selection.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    s.Name & "!" & ActiveCell.Address(0, 0), TextToDisplay:=s.Name
ActiveCell.Offset(1, 0).Activate
End If
Next s

Set rng = Range("C6")

For i = 1 To ActiveWorkbook.Sheets.Count

    If Sheets(i).Name <> "TOC" Then

        Sheets(i).Hyperlinks.Add Anchor:=Sheets(i).Range("I1"), Address:="", SubAddress:= _
        "TOC!" & rng.Address(0, 0), TextToDisplay:="TOC"

        Set rng = rng.Offset(1, 0)

    End If

Next i

End Sub