在我的工具中,我试图创建一个形状,将其重命名,使其随着列宽的移动而移动,然后将其超链接到摘要表。这是我到目前为止所拥有的,在此先感谢。

For s = 7 To Sheets.Count
    With Sheets(s)
        Dim GoToSummary As Shape
        Set GoToSummary = .Shapes.AddShape(msoShapeRoundedRectangle, 400, 153 + 12.75 * 2, 300, 50)

        .Shapes(GoToSummary).TextFrame.Characters.Text = "Go Back To Summary"
    End With
Next s


我知道这是不正确的,这就是为什么我要伸出援手,因为我找不到与我的情况类似的东西。

最佳答案

你很亲密!

Sub test()
Dim GoToSummary As Shape

For s = 7 To Sheets.Count
    Set GoToSummary = Sheets(s).Shapes.AddShape(msoShapeRoundedRectangle, 400, 153 + 12.75 * 2, 300, 50)
    GoToSummary.TextFrame.Characters.Text = "Go Back To Summary"
    Sheets(s).Hyperlinks.Add Anchor:=GoToSummary, Address:="", SubAddress:="Summary!A1"
Next s

End Sub



Dim GoToSummary循环外
使用Set定义GoToSummary后,您可以直接引用它,即使用GoToSummary而不是.Shapes(GoToSummary)
还添加了超链接

关于excel - VBA-创建,编辑和超链接形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45967281/

10-10 18:50