Excel VBA添加超链接来塑造链接到另一个工作表

我有一个macros在工作簿的前面创build一个汇总表。 在工作簿中的工作表中创build和标记形状,然后将超链接添加到形状以redirect到这些工作表,但是,当我loggingmacros来完成此操作时,生成的代码为:

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

在Excel中手动创build的超链接在录制macros时工作得很好,当将鼠标hover在其上时,显示文件path和“ – Sheet!A1”,但他们似乎并没有将链接位置添加到地址部分macros观。 有没有人知道应该在该地址部分链接到工作表的代码?

macroslogging器不logging在这种情况下实际发生的情况。 您正在寻找的财产是SubAddressAddress在您的代码中正确设置。

从一个形状创build一个超链接而不select它
如果可能的话,你想避免在你的代码中select一些东西,在这种情况下肯定是这样的。 创build一个形状variables并将其设置为要修改的形状,然后将该超链接添加到形状所在的图纸上。 请注意,您也可以设置屏幕提示的文字。

在下面的示例中,我想要修改的形状在工作表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