在Excel中更改链接文件path
我想知道是否有可能在Excel中使用另一个单元格中的文本更改链接的文件path。 这里的诀窍是,源工作簿不是与其中包含链接的工作簿同时打开的,并且不在同一个文件夹中。
即:如果一旦单元格具有如下链接:
='C:\thanks\forthehelp\01\[eg.xlsx]worksheet'!A1
我想根据单元格中的文本input来更改文件,即单元格A1有一些文本:“02”
='C:\thanks\forthehelp\&A1&\[eg.xlsx]worksheet'!A1
要得到
='C:\thanks\forthehelp\02\[eg.xlsx]worksheet'!A1
我知道上面的例子不起作用,但我认为这说明了我想在这里做什么。 任何帮助将非常感激。 我希望这是有道理的。
谢谢。
您可以使用INDIRECT函数来实现到目标工作簿的结构化string,但INDIRECT不能在closures的工作簿上工作。
VBA例程可以replace单元格中的公式。
Range("A1").Formula = Replace(Range("A1").Formula, "\01\", "\02\")
如果您select这种公式replace,您应该检查以确保外部工作簿存在于新的位置,类似于Dir函数 。 与xlCellTypeFormulas属性一起使用Range.SpecialCells方法将加速通过单元格,而不是循环遍历所有单元格,并确定Range.HasFormula属性是否为true。