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