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

时间:2013-07-22 20:59:20

标签: excel

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

Parent1.xlsx的数据将由Child.xlsx通过vlookup引用。

vlookup公式是

=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)

如果仅用于1个单元格,那就没关系,但我需要为很多单元格做这个。

要解决此问题,我打算使用命名范围作为文件名。所以在Child.xlsx的Sheet2中,我有一个命名范围“parent”,它具有文件名 - Parent2.xlsx。

我似乎无法让它发挥作用。

如果指定范围“parent”的值为

'[Parent2.xlsx]Sheet1'

然后我想要

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

工作。

这甚至可能吗?除了复制粘贴所有内容并使用VBA之外,还有其他可能吗?

由于

2 个答案:

答案 0 :(得分:2)

如果您只需要更改文件Parent2而不是Parent1的所有外部引用,请选择Data tabEdit Links,然后点击更改来源

答案 1 :(得分:1)

尝试:

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

编辑:刚才意识到这是VBA解决方案。这不适用于单元格公式。