在指向另一个工作簿的链接中更改工作表名称

时间:2016-09-02 15:05:28

标签: excel vba excel-vba

这可能是一个非常简单的问题,但我无法解决它。

每个月我都需要根据我在另一个工作簿中的数据更新工作簿中的数据。

在源工作簿中,每个月的数据以不同的工作表分隔(工作表名称ex:Forecast Jan,Forecast Feb ...)。

在目标工作簿中,我的链接非常简单:

=+'Q:\ ... \ [CLH_2016_01 Displaced inventory 2015-12-14.xlsm]**Forecast Aug**'!$C$65

我正在寻找的方法是使用Forecast Aug更改Forecast Sep

我已经尝试了使用Ctrl + H的简单方法,但我有超过4000个公式要更改,需要一段时间(如果它在结束前没有崩溃,则差不多一个小时)。

提前致谢!

2 个答案:

答案 0 :(得分:0)

你可以使用间接:

=INDIRECT("'Q:\ ... \ [CLH_2016_01 Displaced inventory 2015-12-14.xlsm]Forecast "&TEXT(TODAY(),"mmm")&"'!$C$65")

但是,只有在外部工作簿处于打开状态时才会起作用,如果您有多个不同的工作簿,这可能会有问题。

在这种情况下,我在上一份工作中所做的解决方法是使用INDIRECT.EXT,这是一个执行INDIRECT并能够签入已关闭工作簿的函数。

但是,此功能包含在Morefunc.xll中,这是一个外部库,因此您需要安装。

答案 1 :(得分:0)

基于@Siddharth Rout和@Jeeped提供的解决方案,以下是两种改进流程的方法:

- 将计算更改为手动,然后尝试Ctrl + H

- 你的发现&如果将外部文件打开到同一个应用程序实例中,则替换可能会快得多。更新的延长时间似乎来自于单独重新评估每个更改。