在另一个工作簿/ CSV VBA中创build超链接到单元格
我目前正在处理WorkbookA中的一个脚本,通知其他Workbook(WorkbookB)中的更改。 如果用户希望看到更改,我想添加到该工作簿的function。 目前,我正在运行代码:
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”)。
一种方法是定义一个名称(公式 – >名称pipe理器),只要某些单元格被更改。 例如,如果名称被定义为“已更改的单元格”,则可以按如下方式设置超链接:
= HYPERLINK(“[C:.. \ WorkbookB.csv#changedcell]”,“CLICK HERE”)
如果有多个工作表,只要确保名称的范围设置为完整的工作簿。
如果链接在另一个工作簿中,并且您希望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"")" '^^^