不确定这是否是代码特定的问题,所以我现在将是通用的。Excel VBA慢速计算循环迭代
我有一个有点复杂的宏,首先读取用户手动输入工作表的金融市场数据,然后继续处理该市场数据,生成所需的市场曲线等,然后计算某些利息估值。
该过程需要大量的循环,因为有成千上万的工具需要进行估价。但是,我注意到,每隔一段时间,宏将循环得非常缓慢 - 每次迭代大约2-3秒。当我有Excel工作簿时,我可以在底部看到它正在说“计算(4个处理器x%完成)”。
要解决此问题,我必须手动强制关闭Excel;通常这会解决问题,下次运行该程序时它可以正常工作。
我正在运行Windows 8(不是8.1)和Excel 2013.我听说这个组合很容易崩溃/错误(我经历过几次自己,Excel需要很长时间来处理基本的请求,如字体格式化或将自发崩溃,没有明显的原因)。
但是,我想问社区,看看问题是否更普遍/已知。
谢谢!
关闭'ScreenUpdating'并设置'Calculation'到'xlCalculationManual'正在运行的迭代之前,然后他们逆转最后。此外,请确保您的代码(如果可能的话)正在处理数组,而不是范围本身。请参阅[我的答案](http://stackoverflow.com/a/20754562/2548721),您可以执行一些步骤来加速代码。 – Manhattan 2015-03-03 03:26:50