2

由于数据量很大(集合中有超过 2,000,000 个条目),Excel 以“内存不足错误”(代码 7)终止了我的 VBA 程序。我知道 VBA 不是处理这么多数据的正确语言,但是有没有办法增加 Excel 用来运行 VBA 程序的内存?我准确地说这不是堆栈溢出,堆栈调用的数量限制为 10。

在此先感谢,马克

4

1 回答 1

4

取决于您使用的 Excel 版本。Excel 2007 之前的版本往往具有相当有限的内存容量。
32 位 Excel 2007 及更高版本理论上总共可以使用 2GB,但实际上通常很难为 VBA 获得超过 512MB 的空间。
64 位 Excel 2010 及更高版本要好得多:我已成功使用多达 4 GB 的 VBA 内存。

使用 Dictionary 而不是 Collection 可能会更节省内存,但我还没有测试过。

于 2012-10-23T14:39:48.013 回答