Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何将excel中的文件链接到动态更改路径中的文本?_Vba_Excel - Fatal编程技术网

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

Vba 如何将excel中的文件链接到动态更改路径中的文本?,vba,excel,Vba,Excel,我有一个文件,需要每周相应地获取数据。 假设在单元格中获取数据的公式是 =\T:\Datafile\weekdata\2015\Week01\[Summary.xlsx]Sales'!D4 我在表格C3中有一个单元格,每周都会相应地更改。它将在下周更改为02周,我希望路径也会更改 =\T:\Datafile\weekdata\2015\Week02\[Summary.xlsx]Sales'!D4" 我试着做一个连接,使路径动态 ="\T:\Datafile\weekdata\2015\"&a

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

=\T:\Datafile\weekdata\2015\Week01\[Summary.xlsx]Sales'!D4
我在表格C3中有一个单元格,每周都会相应地更改。它将在下周更改为02周,我希望路径也会更改

=\T:\Datafile\weekdata\2015\Week02\[Summary.xlsx]Sales'!D4"
我试着做一个连接,使路径动态

="\T:\Datafile\weekdata\2015\"&C3&"\[Summary.xlsx]Sales'!D4"
但它似乎不起作用。我检查了评估公式,它将C3解析为第02周,但数值不在单元格中。取而代之的是下面的文本

\T:\Datafile\weekdata\2015\Week02\[Summary.xlsx]Sales'!D4 
显示在单元格中,而不是任何数字

告诉我哪里出了问题,以及如何解决问题。

试试
=INDIRECT()


此函数完全执行您正试图执行的操作,获取一个生成字符串并将其作为单元格引用。

使用
=INDIRECT()
的问题是,它仅在源工作簿打开时才起作用:

如果源工作簿未打开,则间接返回#REF!错误值

(这段引语来自)

通过谷歌搜索“excel将文本转换为公式”,我发现了这样一个问题:

如果您不喜欢VBA解决方案,我在
iDevlop的
=EVALUATE()
解决方案。

也尝试过。不起作用。给出#Ref错误。我认为间接法对关闭的文件不起作用。单元格
C3
中包含的确切文本是什么?这个间接的应该有效,但是如果你的其他工作表没有打开,可能不行。是的,我的其他文件将被关闭。C3中的确切文本是Week02;每周都会有变化(我用不同的公式来处理),下周是03周。
=INDIRECT("\T:\Datafile\weekdata\2015\"&C3&"[Summary.xlsx]Sales'!D4")