我有一个宏,可以在工作簿的前面创建一个摘要表。在工作簿中的工作表之后创建并标记形状,然后将超链接添加到形状以重定向到这些工作表,但是,当我录制宏来执行此操作时,生成的代码是:
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:=""
在记录宏时在 Excel 中手动创建的超链接工作得很好,当将鼠标悬停在它们上方时,显示文件路径和“-Sheet!A1”,但它们似乎实际上并未将链接位置添加到地址部分中宏。有谁知道应该在该地址部分中链接到工作表的代码?
宏记录器不会记录这种情况下实际发生的情况。您正在寻找的房产是SubAddress
. Address
在您的代码中设置正确。
从形状创建超链接而不选择它
如果可能的话,您希望避免在代码中选择某些内容,在本例中确实如此。创建一个形状变量并将其设置为要修改的形状,然后将超链接添加到形状所在的工作表。请注意,您还可以设置屏幕提示的文本。
在下面的示例中,我要修改的形状位于工作表 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)