繁体   English   中英

在另一个Workbook / CSV VBA中创建指向单元格的超链接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM