Excel VBA代码,用于索引带有超链接的所有工作表名称-矩形(按钮类型)

Excel VBA代码,用于索引带有超链接的所有工作表名称-矩形(按钮类型),vba,excel,Vba,Excel,嗨,我正在尝试写一个VBA代码,它将帮助我索引所有带有超链接的工作表名称。但是,我不希望只在单元格中写入工作表的名称。我希望工作表的所有名称都在一个矩形上,一个在另一个下面。单击带有工作表名称的形状时,它将带您进入工作表单元格A1。 在其他工作表中,还有一个类似的矩形框,上面写着“返回索引”,链接到索引页 有没有人可以帮我写这样一个代码,因为我的工作簿中有将近70个工作表,而我正试图手动完成这项工作 以下是矩形盒的规格: Sub button() ActiveSheet.Shapes.A

嗨,我正在尝试写一个VBA代码,它将帮助我索引所有带有超链接的工作表名称。但是,我不希望只在单元格中写入工作表的名称。我希望工作表的所有名称都在一个矩形上,一个在另一个下面。单击带有工作表名称的形状时,它将带您进入工作表单元格A1。 在其他工作表中,还有一个类似的矩形框,上面写着“返回索引”,链接到索引页

有没有人可以帮我写这样一个代码,因为我的工作簿中有将近70个工作表,而我正试图手动完成这项工作

以下是矩形盒的规格:

Sub button()
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 96.75, 90, 94.5, 21).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Sheet3"

    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 6). _
        ParagraphFormat
        .FirstLineIndent = 0
        .Alignment = msoAlignLeft
    End With

    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 6).Font
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorLight1
        .Fill.ForeColor.TintAndShade = 0
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 11
        .Name = "+mn-lt"
    End With

    Range("D9").Select
End Sub

您可以对每个工作表进行一个循环,并根据名称创建所需的按钮

Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    Call button(ws)
Next

然而,我有很多工作表,我想要一个代码来为我做到这一点。