使用存储在单元格中的文件路径的公式

时间:2015-08-18 15:42:39

标签: excel excel-formula excel-2013

我在名为'设置'的工作表上有一个单元格A1使用以下文件路径:

C:\Users\Arun Victor\Documents\New folder\MASTER.xlsm

同一个工作簿上的Sheet1有一堆单元格链接到MASTER.xlsm中的各个单元格,如下所示:

='C:\Users\Arun Victor\Documents\New folder\[MASTER.xlsm]Employee WOs'!D4

现在,只要文件路径发生变化,我就必须手动编辑每个单元格。相反,我需要一个使用存储在公共单元格A1中的文件路径的公式,并执行如下操作:

='*File path from Sheet-Settings A1* Employee WOs'!D4

2 个答案:

答案 0 :(得分:1)

您正在寻找Indirect()。如果您的单元格A1具有您将更改的路径(C:\Users\Arun Victor\Documents\New folder\[MASTER.xlsm])。

在工作表1中,当前为=C:\Users\Arun Victor\Documents\New folder\[MASTER.xlsm]Employee WOs'!D4的单元格可以替换为=Indirect("'"&A1&"Employee WOs'!D4")

这是一个例子。我有一个名为" TextBook.xlsx"在我的桌面上。我希望我的公式能够返回我想要的任何单元格的值,我将放在单元格C9中。

enter image description here

例如,我可以将C9从A1更改为B1029,D9将返回该单元格具有的任何值。 (在我的' TextBook.xlsx',A1字面上只是说" Cell A1"。

关于使用Indirect()

注意,您必须拥有使用“开放”的文件,否则您将收到错误消息。换句话说,我打开了TextBook.xlsx,这就是为什么你可以看到结果(" Cell A1")。如果我关闭工作簿,则会更改为#REF错误。

答案 1 :(得分:0)

在您的VBA代码中,您可以使用以下内容:

= Sheet("Settings").Cells(1,1) & "Employee WOs'!D4"  

这样您的代码就会自动从“设置”表单中对单元格A1进行更改。