跨工作表使用 VLOOKUP 而不引用原始工作表

跨工作表使用 VLOOKUP 而不引用原始工作表

我有一個工作簿,它運行一些巨集來從許多其他工作簿中提取工作表的副本。我正在嘗試設定一個文件,用戶可以將其複製到其項目資料夾中,然後只需使用即可,而不必VLOOKUP每次都設置公式。因此,他們將檔案 NewProject.xlsm 從伺服器複製到專案資料夾,然後使用巨集從伺服器上的 100 系列、110 系列或 120 系列工作簿中提取所需的不同工作表。

100 系列工作簿中有一個名為 ItemsE 的工作表,並有VLOOKUP兩列和另一列中的資料驗證。當使用者將 100_1A 工作表拉入其專案檔案時,它會拉出VLOOKUP,但它會引用原始檔案。

NewProject 檔案中也包含具有所有相同資訊的 ItemsE 表。我的問題是,我是否可以VLOOKUP在 100_1A 和 100_1C 工作表上使用 100 系列工作簿中的公式,並讓它引用 NewProject 文件中的 ItemsE 工作表而不是 100 系列文件?我最初將以下公式放在100系列文件中。

=VLOOKUP(D24,ItemsE!A:C,2,FALSE)

當我將需要的 100 系列工作表匯入其中後開啟 NewProject 檔案時,公式如下:

=VLOOKUP(D22,'W:\Design\[C_DE100Series.xlsm]ItemsE'!A:C,2,FALSE)

有沒有辦法解決這個問題?它也適用於資料驗證嗎?

感謝您的幫助,並對冗長的解釋表示歉意。如果您需要我提供更多信息,請告訴我。

答案1

您可以在工作表公式中為 ItemsE 定義一個通用名稱。

例如,使名稱引用「地點」 當您將工作表拖曳到接收工作簿時,不會使用為接收工作簿定義的名稱,且「地點」仍將引用傳送工作簿的名稱定義。

您可以使用巨集來刪除剛剛拖曳到接收工作簿的活動工作表上的舊位置。

ActiveWorkbook.Names("place").Delete

發生這種情況時,將使用接收工作簿中已定義的名稱。

相關內容