[英]Create Hyperlink to Cell in Another Workbook/CSV VBA
我目前正在WorkbookA中的脚本上工作,该脚本通知另一个Workbook(WorkbookB)中的更改。 如果用户希望看到更改,我想将被带到该工作簿的功能。 目前,我正在运行代码:
SelRangeA(iRow, 2) = "=HYPERLINK(""[C:\..\WorkbookB.csv]Sheet1!B4"",""CLICK HERE"")"
在电子表格中显示正确的超链接: Click Here
,显示内容:
=HYPERLINK("[C:\..\WorkbookB.csv]Sheet1!B4","CLICK HERE")
但是,当我点击链接时,它打开请求的工作簿并显示错误:
引用无效。
关于如何正确引用所需单元格的任何见解? 谢谢!
CSV文件将不包含“ Sheet1”。 “工作表”名称是从文件的名称派生的。
因此,您的代码必须是:
=HYPERLINK("[C:\..\WorkbookB.csv]'" & filename & "'!B4","CLICK HERE")
其中filename
已设置为CSV文件文件名的基本部分(即,在您的示例中,该文件名必须等于“ WorkbookB”)。
如果该链接位于另一个工作簿中,并且您希望Excel在尚未打开的情况下将其打开,则需要同时指定地址和子地址(类似于HTML链接中的锚点):
SelRangeA(iRow, 2) = "=HYPERLINK(""C:\Foo.xlsx#[C:\Foo.xlsx]Sheet1!A1"")"
编辑:请注意,对于.csv
文件,工作表名称将默认为打开时的文件名:
SelRangeA(iRow, 2) = "=HYPERLINK(""C:\Foo.csv#[C:\Foo.csv]Foo!A1"")"
'^^^
一种实现方法是每当某些单元格更改时定义一个名称(Formulas-> Name Manager)。 例如,如果名称定义为“ changedcell”,则可以按以下方式设置超链接:
= HYPERLINK(“ [C:.. \\ WorkbookB.csv#changedcell]”,“点击此处”)
如果有多个工作表,只需确保名称的范围设置为完整的工作簿即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.