如何链接excel中的文件与动态更改的路径中的文本?

时间:2015-04-08 17:43:30

标签: excel vba excel-vba

我有一个文件需要每周相应地获取数据。 让我们说在单元格中获取数据的公式是

=\T:\Datafile\weekdata\2015\Week01\[Summary.xlsx]Sales'!D4

我在工作表C3中有一个单元格,每周都会相应更改。下周将更改为week02,我希望路径也可以更改..到

=\T:\Datafile\weekdata\2015\Week02\[Summary.xlsx]Sales'!D4"

我尝试进行连接以使路径动态

="\T:\Datafile\weekdata\2015\"&C3&"\[Summary.xlsx]Sales'!D4"

但它似乎没有成功。我检查了评估公式,它将C3解析为Week02,但该值不在单元格中。而不仅仅是下面的文本

\T:\Datafile\weekdata\2015\Week02\[Summary.xlsx]Sales'!D4 

出现在单元格中而不是任何数字。

让我知道我哪里出错了以及如何解决它。

2 个答案:

答案 0 :(得分:0)

尝试=INDIRECT()

=INDIRECT("\T:\Datafile\weekdata\2015\"&C3&"[Summary.xlsx]Sales'!D4")

此函数完全按照您要执行的操作执行,获取构建的字符串并使其成为单元格引用。

答案 1 :(得分:0)

=INDIRECT()的问题是它只在源工作簿打开时才有效:

  

如果源工作簿未打开,INDIRECT将返回#REF!错误值。

(该引言来自https://support.office.com/en-sg/article/INDIRECT-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd

通过谷歌搜索“excel将文本转换为公式”我发现了这个问题& A:How to turn a string formula into a "real" formula

如果你不喜欢VBA解决方案,我就取得了成功 iDevlop的=EVALUATE()解决方案。