簡體   English   中英

Excel VBA“Out of Memory”調試技術

[英]Excel VBA “Out of Memory” debugging techniques

我正在調試SO上的一些其他問題中提到的問題,並注意到在調試過程中出現了一個奇怪的行為。

行為:在粘貼復雜公式時遇到“內存不足”錯誤。 我正在迭代的20,000行中只有大約一半在錯誤之前粘貼公式。 幾乎所有代碼都被注釋掉了,錯誤就消失了。 為了發現導致它的特定代碼部分,希望逐步取消注釋代碼。 最終取消注釋所有代碼並停止體驗錯誤!

這意味着完全相同的代碼在同一個Excel實例中運行良好,修復它只需要在返回原始版本之前運行各種較輕版本的代碼。 有什么可能導致這種情況?

假設您運行的數據每次都完全相同,聽起來更像是您的問題與環境有關 - 問題可能是操作系統內存不足。 在Excel 2007中,公式和數據透視緩存的可用內存增加到2千兆字節(GB),因此可能不是問題。 但是,它當然也受到當時操作系統可用內存量的限制。

問題可能已經發生,因為當您第一次測試它時,您的可用操作系統內存較低(從運行其他進程...甚至可能被運行掃描的防病毒軟件等后台程序超過限制)比運行時更低完整的宏以后。 我會嘗試在打開任務管理器的情況下運行宏,看看你的物理內存是否接近低位。 此外,(假設您使用的是Excel 2007或更高版本)查看Excel正在使用多少內存,並查看是否有接近2GB限制的任何內容。 我懷疑這是問題,但至少值得仔細檢查。 此外,像Zairja所說,確保您在開始時將計算設置為手動。

您說您使用的是復雜的公式...請查看有關在Excel中提高性能的文章

文章中有很多有用的信息可能會幫助您簡化宏。

這對你有幫助嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM