VBA文件执行时间越来越长

时间:2018-04-11 11:20:24

标签: excel vba

我有一个非常大的VBA脚本,它运行了很多计算。我创建了一个工作簿的副本,并一遍又一遍地运行主脚本。这一直在完美地运作,但我遇到了一些麻烦。

运行整个代码大约需要5分钟(即使它在后台运行),但现在它已经运行了几百次迭代,它开始变得非常慢并且运行时已经增加到10分钟以上。

过去几天,计算机一直在运行脚本。我试图在没有运气的情况下重新启动计算机。有谁知道如何解决这一问题?我是否必须以某种方式清除记忆,关闭计算机一段时间,删除AppData中的文件夹或类似的东西?

编辑:VBA脚本是一种资产/负债模型,基本上是很多随机模型,我对不同的资产和负债进行定价,看看它们如何随着时间的推移而逐渐消失。有近3000行代码,所以我不能真正上传它。

1 个答案:

答案 0 :(得分:1)

您可以尝试添加:

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

在脚本开头和

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

最后看看这是否会提高性能。 这会阻止Excel刷新屏幕并在每次更改单元格时更新整个工作簿。当计算方法更改回自动Excel时,将重新计算工作簿,但只需一次,而不是每次脚本更改单元格值。