我有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之外,还有其他可能吗?
由于
答案 0 :(得分:2)
如果您只需要更改文件Parent2而不是Parent1的所有外部引用,请选择Data tab
,Edit Links
,然后点击更改来源。
答案 1 :(得分:1)
尝试:
"=VLOOKUP(1," & ActiveWorkbook.Names("parent").Value & "!$A$1:$B$7,2,FALSE)"
编辑:刚才意识到这是VBA解决方案。这不适用于单元格公式。