使用VBA在Excel中建立索引

时间:2017-09-21 17:56:47

标签: excel vba excel-vba

以下代码用于我的索引编制工作簿。问题是这个代码用"覆盖索引"来覆盖A1中的单元格。如何修改此代码,使其不会覆盖每个工作表中的当前值A1单元格,并且保留当前值的A1单元格中的超链接会创建回索引页面? TIA

Private Sub Worksheet_Activate()
Dim wSheet As Worksheet
Dim l As Long

l = 1

    With Me
        .Columns(1).ClearContents
        .Cells(1, 1) = "INDEX"
        .Cells(1, 1).Name = "Index"
    End With


    For Each wSheet In Worksheets
        If wSheet.Name <> Me.Name Then
            l = l + 1
                With wSheet
                    .Range("A1").Name = "Start_" & wSheet.Index
                    .Hyperlinks.Add Anchor:=.Range("A1"), Address:="", _
                    SubAddress:="Index", TextToDisplay:="Back to Index"
                End With

                Me.Hyperlinks.Add Anchor:=Me.Cells(l, 1), Address:="", _
                SubAddress:="Start_" & wSheet.Index, TextToDisplay:=wSheet.Name
        End If
    Next wSheet

End Sub

1 个答案:

答案 0 :(得分:1)

对我来说似乎很简单,但也许我不明白这个问题。

    With wSheet
        .Range("A1").Name = "Start_" & .Index
        .Hyperlinks.Add Anchor:=.Range("A1"), Address:=vbNullstring, _
        SubAddress:="Index", TextToDisplay:=.Range("A1").Text
    End With