不確定這是否是代碼特定的問題,所以我現在將是通用的。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