Ada*_*ith 6 excel vba hyperlink excel-vba
我有一个宏,可以在工作簿的前面创建摘要表.在工作簿中的工作表之后创建并标记形状,然后将超链接添加到形状以重定向到这些工作表,但是,当我记录宏来执行此操作时,生成的代码为:
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:=""
Run Code Online (Sandbox Code Playgroud)
在记录宏工作时手动在excel中创建的超链接工作得很好,当将鼠标悬停在它们上面时,显示文件路径和" - Sheet!A1",但它们似乎实际上并未将链接位置添加到地址部分宏.有没有人知道应该在该地址部分链接到工作表的代码?
在这种情况下,宏录制器不记录实际发生的情况.您正在寻找的房产是SubAddress.Address在代码中正确设置.
从形状创建超链接而不选择它
您希望尽可能避免在代码中选择内容,在这种情况下肯定是.创建一个形状变量并将其设置为要修改的形状,然后将超链接添加到形状所在的工作表中.请注意,您还可以设置屏幕提示的文本.
在下面的示例中,我要修改的形状是在Sheet 6上,以及指向Sheet 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9271 次 |
| 最近记录: |