在Excel中通过命名范围引用工作簿

我有3个工作簿 – Parent1.xlsx和Child.xlsx

Parent1.xlsx具有通过vlookup被Child.xlsx引用的数据。

该查找公式是

=VLOOKUP(1,[Parent1.xlsx]Sheet1!$A$1:$B$7,2,FALSE) 

这工作正常。

现在,我必须将Parent1.xlsx的副本作为Parent2.xlsx。

为了使Child.xlsx工作,我必须将公式更改为

 =VLOOKUP(1,[Parent2.xlsx]Sheet1!$A$1:$B$7,2,FALSE) 

没关系,如果它只是一个单元格,但我需要为许多单元格。

为了解决这个问题,我打算使用一个命名范围作为文件名。 因此,在Child.xlsx的Sheet2中,我有一个命名范围“parent”,其名称为Parent2.xlsx。

我似乎无法得到这个工作。

如果命名范围“parent”的值是

 '[Parent2.xlsx]Sheet1' 

那么我试图得到

 =VLOOKUP(1,parent!$A$1:$B$7,2,FALSE) 

上class。

这甚至有可能吗? 除了复制粘贴一切,使用VBA,还有另一种可能吗?

谢谢

如果只需要将所有外部引用更改为文件Parent2而不是Parent1,请select“ Data tab ,“ Edit Links ,然后单击“ 更改源”

尝试:

"=VLOOKUP(1," & ActiveWorkbook.Names("parent").Value & "!$A$1:$B$7,2,FALSE)"

编辑:刚才意识到这是VBA解决scheme。 这不会在单元格公式中工作。