Excel - 保存工作簿非常慢

时间:2016-03-05 14:52:09

标签: excel vba excel-vba

我有很多工作簿,当我保存它们时(10 - 30分钟)特别慢。我知道它们很慢的原因是因为它们有很多INDEX,MATCH公式链接到另一个封闭的工作簿。

工作簿需要19秒才能打开,大约10秒钟会在更改日期时重新​​计算(在改进之前,重新计算时间大约为50秒)。我似乎无法加快工作簿的保存时间。

我试图找到一种用VBA代码替换INDEX,MATCH公式的方法,该代码在检测到更改时导入数据,但显然无法从已关闭的工作簿导入数据,这对我不起作用。

我确实将公式设置为= INDEX(,MATCH(,,))但是我已将此更改为具有MATCH列然后使用大量INDEX公式,这将重新计算时间减少到它原来的五分之一和开放时间的一半,但如果有的话,节省时间更长。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

检查此链接,了解单元格值更改时如何运行宏:

https://support.microsoft.com/en-us/kb/213612

从那里,您可以让宏打开新工作簿,将您的INDEX MATCH公式添加到原始工作簿中的单元格,复制并粘贴为值,然后关闭其他工作簿。这样你的文件就是所有的值而不是公式,这将显着提高速度。

要在宏运行时提高宏的性能,请将其添加到代码的开头:

Application.ScreenUpdating = False
Application.DisplayAlerts = False

然后将其添加到最后:

Application.ScreenUpdating = True
Application.DisplayAlerts = True