Excel 使用一个单元格保存文件引用

Excel 使用一个单元格保存文件引用,excel,excel-2007,Excel,Excel 2007,您好,我有一张带有外部工作簿链接的工作表,单元格公式的示例如下: ='C:\[Workbook1.xls]Sheet2'!M59 每次更改外部工作簿时,我都必须更改所有单元格中的所有引用。我要做的是将filereference存储在单元格A1中,如下所示: A1 would be C:\Workbook1.xls 工作表中的其他单元格从该单元格获取其targetfile。。。然后我可以更改fileref和更新链接,工作表中显示的数据将指向新的外部工作簿。这可能吗?这应该可以做到: =INDI

您好,我有一张带有外部工作簿链接的工作表,单元格公式的示例如下:

='C:\[Workbook1.xls]Sheet2'!M59
每次更改外部工作簿时,我都必须更改所有单元格中的所有引用。我要做的是将filereference存储在单元格A1中,如下所示:

A1 would be C:\Workbook1.xls
工作表中的其他单元格从该单元格获取其targetfile。。。然后我可以更改fileref和更新链接,工作表中显示的数据将指向新的外部工作簿。这可能吗?

这应该可以做到:

=INDIRECT("'"&LEFT(A1,3)&"["&RIGHT(A1,LEN(A1)-3)&"]Sheet2'!M59")
这应该做到:

=INDIRECT("'"&LEFT(A1,3)&"["&RIGHT(A1,LEN(A1)-3)&"]Sheet2'!M59")

您使用不同的工作簿名称似乎带来了额外的复杂性,您能保持工作簿名称不变吗

如果不能,则可以使用间接函数将文本转换为实际的函数调用


如果您使用命名范围也可能会有所帮助(这样,如果其他工作簿中的单元格位置发生变化,它仍然可以工作)

您使用不同的工作簿名称似乎会带来额外的复杂性,是否可以保持工作簿名称不变

如果不能,则可以使用间接函数将文本转换为实际的函数调用


如果您使用命名范围也可能会有所帮助(这样,如果其他工作簿中的单元格位置发生变化,它仍然可以工作)

Hmm,获取关于此的#ref error msg。。A1 path=C:\Local\test.xls公式:=间接(左(A1;9)和“[”&右(A1;LEN(A1)-9)和“]Sheet1'!M59”)您已将3更改为9。“左”位做了什么来将C:\从其余部分中分离出来,这样我就可以放入一个[in]。若您放入3而不是9,它是否有效?间接中公式的结果是:C:\Local[test.xls]Sheet1'!M59 A1中有什么?我知道为什么要使用9,但这应该会给出C:\Local[test.xls]等等,在A1:C:\Local\test.xls内部,内部函数的结果没有剩余的内容:C:\Local[test.xls]Hmm,在这上面得到#ref error msg..A1 path=C:\Local\test.xls公式:=间接(左(A1;9)和“[”&右(A1;LEN(A1)-9)和“]Sheet1'!M59”)你把3改成了9。什么是“左”位的作用是将C:\从其余部分中分离出来,这样我就可以放入一个[in。若将3而不是9放入其中,它是否有效?间接中公式的结果是:C:\Local[test.xls]Sheet1'!M59 A1中有什么?我明白为什么要使用9,但这应该会给出C:\Local[test.xls]等等,在A1:C:\Local\test.xls内部,内部函数的结果,不包含其余内容:C:\Local[test.xls]我有100本需要获取信息的源工作簿(它们都遵循相同的模式),我在目标工作簿中制作了100张工作表。因此我制作了一张用于100张工作表的模板工作表。我希望我可以在100张工作表中的每一张工作表中更改A1,这样你就会被“间接”所困扰我想。让一个小小的VBA打开每个工作簿,获取它需要的数据,然后关闭它。这样你就不必维护链接了。我有100个源工作簿需要从中获取信息(它们都遵循相同的模式),我在目标工作簿中制作了100张工作表。因此我制作了一张用于100张工作表的模板工作表。我希望我可以在100张工作表中的每一张工作表中更改A1,这样你就会被“间接”所困扰我想。让一个小小的VBA打开每个工作簿,获取它需要的数据,然后关闭它。这样你就不必维护链接了