![](/img/trans.png)
[英]Excel: How do I link to an external workbook always in the same directory?
[英]How do I create a link in Excel, with a formula in it, to another Workbook?
我不確定在Excel中是否甚至可以做到這一點,但這是我需要做的:
我有一列包含酒店列表的列,然后是另一列,需要從每個酒店的excel文件中提取數據。 例如,單元格A2的酒店名稱為“巴黎”,然后單元格B2的鏈接為:
='G:\Hotels\Paris\Paris - Monthly\[Paris_summary_2018.xlsm]Feb'!$CD$89
我有很多酒店需要在不同的表中進行此操作。 因此,我需要該鏈接來動態引用A列中的任何酒店和工作表的標題,例如,我可以這樣做嗎?
=''G:\Hotels\A2\A2 - Monthly\[A2_summary_2018.xlsm]Feb'!$CD$89
其中A2具有字符串“ Paris”。 也有一種方法可以動態地引用“ Feb”,具體取決於我當月的工作表是標題
我也願意為此使用VBA。
我不確定是否可以使用HYPERLINK
。
像這樣:
=HYPERLINK("G:\Hotels\"&A2&"\"&A2&" - Monthly\["&A2&"_summary_2018.xlsm]Feb!"&$CD$89)
只要您不介意使用VBA,就可以輕松生成如下所示的鏈接:
Sub generate_hotel_links()
Dim r As Range, c As Range
Dim s As String
' This is the range which all the hotel-locations are in
Set r = ThisWorkbook.Worksheets("Sheet1").Range("A1:A10")
On Error Resume Next
For Each c In r
' Generate the formula based on the current cell we are in
s = "=" & Chr(39) & "G:\Hotels\" & CStr(c) & "\" & CStr(c) & " - Monthly\[" & CStr(c) & "_summary_2018.xlsm]Feb" & Chr(39) & "!$CD$89"
' ...and put it in the neighbouring cell
c.Offset(0, 1).Formula = s
Next c
On Error Goto 0
End Sub
On Error Resume Next
無論彈出什么錯誤,宏都將繼續執行-理想的情況是進行更健壯的錯誤處理,或者在嘗試編寫公式之前檢查工作簿/工作表是否確實存在,但我將離開如果您認為需要改進宏,可以嘗試編寫此代碼。
如果您只想使用通用的Excel公式,建議您看一下我在問題注釋中發布的問題和答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.