Excel VBA在不同的工作表中创build超链接到同一工作簿中的不同工作表
我正在Excel中的项目,我想validation一个数据集,每当列中的两个单元格有重复我想写的副本的位置到不同的工作表,其中包含一堆关于数据中的错误的信息。
所以我的数据在工作表1中,当我运行我的代码时,我正在写一个超链接到工作表2中链接到工作表1中的错误的某个单元格。
我发现一些代码几乎完成这个任务在不同的堆栈问题…
超链接到实际工作簿中的现有工作表
ActiveSheet.Hyperlinks.Add ActiveCell, "", Sheets(fortnr).Name & "!A1"
但是,这会在当前工作簿中(或处于活动状态)创build超链接。
我修改了一下代码,但似乎无法让它运行…
Sheets("Sheet3").Hyperlinks.Add Cells(3, 3), "", Sheets("Sheet1").Name & "!B2", _ "", "Hello"
我也试过了
Sheets("Sheet3").Activate ActiveSheet.Hyperlinks.Add Cells(3, 3), "", Sheets(fortnr).Name & "!A1" Sheets("Sheet1").Activate
但它不起作用。 没有错误产生,所以我真的在为什么这是行不通的损失。
您的锚点单元格未指定要锚定的工作表,因此它默认为活动工作表。
像这样改变它:
Sheets("Sheet3").Hyperlinks.Add Sheets("Sheet3").Cells(3, 3), "", Sheets("Sheet1").Name & "!B2", "", "Hello"
为什么你需要有一个表.Hyperlinks
?
基于这里的MSDN文档,我相信这是因为HyperLinks
是sheets
类的一种方法,所以它是调用方法的唯一方法。 您可以使用Activesheet
或在开始时调用任何表来调用该方法,然后将超链接锚点分配到您想要的位置。
也许你可以试试这个…
Dim WS as Worksheet ActiveSheet.Hyperlinks.add Anchor:=Selection, Address:="", SubAddress:= _ "'" & WS.Name & "'" & "!A1", TextToDisplay:=WS.Name
因为当你看链接时,通常会显示
file:///name'WS.name'!A1
有可能这一对“'可能被省略了。
这些是我用来在VBA上创build超链接到一个URL或一个特定的电子表格
Sheets("RogueOne").Hyperlinks.Add Anchor:=Sheets("RogueOne").Cells(3, 4), Address:="http://wired.com", ScreenTip:="Wired", TextToDisplay:="WIRED" Sheets("RogueOne").Hyperlinks.Add Sheets("RogueOne").Cells(5, 5), "", Sheets("RogueTwo").Name & "!c2", "", "RogueTwo"
在我的情况下,当我点击由Portlands Runner代码创build的超链接时,遇到“超链接无效”错误。 围绕并join表格(“Sheet1”)。通过aphostrophes的名称解决了这个问题,错误消失了。 如果你遇到相同的情况,那就这样使用它:
Sheets("Sheet3").Hyperlinks.Add Sheets("Sheet3").Cells(3, 3), "", "'" & Sheets("Sheet1").Name & "'" & "!B2", "", "Hello"