Tri*_*daz 5 excel vba out-of-memory excel-vba
我正在调试SO上的一些其他问题中提到的问题,并注意到在调试过程中出现了一个奇怪的行为.
行为:在粘贴复杂公式时遇到"内存不足"错误.我正在迭代的20,000行中只有大约一半在错误之前粘贴公式.几乎所有代码都被注释掉了,错误就消失了.为了发现导致它的特定代码部分,希望逐步取消注释代码.最终取消注释所有代码并停止体验错误!
这意味着完全相同的代码在同一个Excel实例中运行良好,修复它只需要在返回原始版本之前运行各种较轻版本的代码.有什么可能导致这种情况?
假设您每次运行的数据都完全相同,那么听起来您的问题更像是环境问题 - 问题可能是操作系统内存不足。在 Excel 2007 中,公式和数据透视缓存的可用内存增加到 2 GB,因此这可能不是问题。然而,它当然也受到操作系统当时可用内存量的限制。
出现该问题的原因可能是,当您第一次测试它时,您的可用操作系统内存比您运行时要低(来自正在运行的其他进程...甚至可能被运行扫描的防病毒软件等后台程序超出了限制)完整的宏稍后。我会尝试在任务管理器打开的情况下运行宏,看看物理内存是否接近低水平。另外,(假设您使用的是 Excel 2007 或更高版本)查看 Excel 使用了多少内存,并查看是否接近 2GB 限制。我怀疑这会是问题所在,但至少值得仔细检查。另外,就像 Zairja 所说,确保一开始就将计算设置为手动。
您说您正在使用复杂的公式...查看这篇关于提高 Excel 性能的文章
本文中有很多有用的信息,可能会帮助您简化宏。
这对你有帮助吗?