5

我正在调试关于 SO 的其他一些*问题中提到的问题,并在调试过程中注意到了一个奇怪的行为。

行为:粘贴复杂公式时出现“内存不足”错误。在我迭代的 20,000 行中,只有大约一半在错误之前粘贴了公式。注释掉几乎所有代码,错误就消失了。逐步取消注释代码,以发现导致它的代码的特定部分。最终取消注释所有代码并停止遇到错误!

这意味着完全相同的代码在同一个 Excel 实例中运行良好,修复它只需要运行各种较轻版本的代码,然后再返回原始版本。什么可能导致这种情况?

4

1 回答 1

3

假设您每次运行的数据都完全相同,听起来您的问题更像是环境问题 - 问题可能是操作系统内存不足。在 Excel 2007 中,公式和数据透视缓存的可用内存增加到 2 GB,因此这可能不是问题。但是,它当然也受到您的操作系统当时可用的内存量的限制。

出现问题的原因可能是当您第一次测试它时,您的可用操作系统内存(来自其他正在运行的进程......甚至可能被后台程序(例如运行扫描的防病毒软件)推到了极限)比运行时低稍后完整的宏。我会尝试在任务管理器打开的情况下运行你的宏,看看你的物理内存是否接近低位。此外,(假设您使用的是 Excel 2007 或更高版本)查看 Excel 使用了多少内存,看看您是否接近 2GB 限制。我怀疑这会是问题,但至少值得仔细检查。此外,就像 Zairja 所说,请确保您在开始时将计算设置为手动。

您说您使用的是复杂的公式...查看这篇关于提高 Excel 性能的文章

文章中有很多有用的信息可能会帮助您简化宏。

这对您有帮助吗?

于 2012-05-03T14:14:08.227 回答