簡體   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