【问题标题】:Excel VBA add hyperlink to shape to link to another sheetExcel VBA 将超链接添加到形状以链接到另一个工作表
【发布时间】:2015-09-22 08:53:50
【问题描述】:

我有一个在工作簿前面创建摘要表的宏。在工作簿中的工作表之后创建并标记形状,然后将超链接添加到形状以重定向到这些工作表,但是,当我录制宏来执行此操作时,生成的代码是:

ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:=""

在录制宏时在 excel 中手动创建的超链接工作正常,当将鼠标悬停在它们上方时,显示文件路径和“-Sheet!A1”,但它们似乎实际上并未将链接位置添加到宏的地址部分。有谁知道应该在该地址部分中链接到工作表的代码?

【问题讨论】:

    标签: vba excel hyperlink


    【解决方案1】:

    宏记录器不会记录在这种情况下实际发生的事情。您正在寻找的物业是SubAddressAddress 已在您的代码中正确设置。

    从形状创建超链接而不选择它
    如果可能,您希望避免在代码中选择内容,在这种情况下肯定是这样。创建一个形状变量并将其设置为要修改的形状,然后将超链接添加到该形状所在的工作表。请注意,您还可以设置屏幕提示的文本。

    在下面的示例中,我要修改的形状在工作表 6 上,并且超链接到工作表 4 上的范围。

    Sub SetHyperlinkOnShape()
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Sheet6")
    
        Dim hyperLinkedShape As Shape
    
        Set hyperLinkedShape = ws.Shapes("Rectangle 1")
    
        ws.Hyperlinks.Add Anchor:=hyperLinkedShape, Address:="", _
            SubAddress:="Sheet4!C4:C8", ScreenTip:="yadda yadda"
    End Sub
    

    【讨论】:

    • 效果很好,感谢您的帮助和最佳实践!
    猜你喜欢
    • 2020-03-04
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多