簡體   English   中英

如何在Excel中創建一個帶有公式的鏈接到另一個工作簿?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM