Excel 使用工作表名稱參考

Excel 使用工作表名稱參考

我環顧四周試圖解決這個問題,但我不熟悉編碼。

這是我的程式碼行,

='[WorkBook]BOM'!G6

我想要做的是將工作簿調用到一個單元格,這樣我就可以批量替換所有“工作簿”名稱,而無需查找和替換。

本質上是這樣的(雖然這段程式碼不起作用,但僅供參考)

='[=E1]BOM'!G6

然後在儲存格 E1 中,我可以輸入任何我想要的文字來替換工作簿名稱。我正在嘗試找到執行此操作的公式。

答案1

您應該使用該INDIRECT()函數將文字字串作為函數進行計算。

=INDIRECT("'["& E1 & "]BOM'!G6")

請注意,僅當引用的工作簿開啟時,INDIRECT()函數才會傳回值。否則將返回#REF!- 錯誤。

答案2

INDIRECT不適用於封閉的外部工作簿。自動化的最佳選擇似乎是將工作簿路徑放入儲存格中,並編寫一個巨集來尋找/取代所有出現的舊工作簿名稱並替換為新工作簿名稱。

答案3

我的解決方案將允許您引用一個範圍,前提是您先命名它們。

例如,您在工作簿 1 中將範圍 A1:A100 命名為 MyRange

然後在您目前的工作簿中,您可以在工作簿 2 的 E1 中輸入“MyRange”

然後使用間接(E1)

相關內容