大量のデータ (コレクションに 2,000,000 を超えるエントリ) があるため、Excel は VBA プログラムを「メモリ不足エラー」(コード 7) で終了します。VBA は非常に多くのデータを処理するのに適した言語ではないことはわかっていますが、Excel が VBA プログラムを実行するために使用するメモリを増やす方法はありますか? 正確には、スタック オーバーフローではありません。スタック コールの数は 10 に制限されています。
前もってありがとう、マーク
使用している Excel のバージョンによって異なります。Excel 2007 より前のバージョンでは、メモリ容量がかなり制限される傾向があります。
32 ビットの Excel 2007 以降では、理論上は合計で最大 2GB を使用できますが、実際には、VBA で約 512MB を超えるのは難しいことがよくあります。
64 ビットの Excel 2010 以降の方がはるかに優れています。最大 4 ギガバイトの VBA メモリを正常に使用できました。
Collection ではなく Dictionary を使用すると、メモリ効率が多少向上する可能性がありますが、テストしていません。