- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 動的配列とPF使用量の関係について)
エクセルの動的配列とPF使用量の関係について
このQ&Aのポイント
- エクセルでVBAを使って多次元の配列を作成する際、PF使用量が増えることがあります。配列を格納した後、PF使用量が増えたままになっているため、PCの処理能力に影響する可能性があると心配しています。
- 具体的な例として、2次元の配列を使った場合を考えます。セルに1から90までの数値が入力されている場合、下記のVBAコードを実行するとPF使用量が20MBほど増加します。
- 今後も配列を使用したVBAの記述が増える予定ですので、注意点や最適化の方法についてご教示いただけると助かります。また、PF使用量についても正確な理解ができていない部分があるため、的確な質問ができているか心配ですが、ご了承ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 初期化を行っていても、PF使用量が増えたままなので、 > 大丈夫なのかな?と思っております。 PF使用量...というのは、ページングファイルのことですか? 詳しくありませんが、PF は OS か アプリ側で管理されているものでは ないかと。つまり、VBA の範疇ではないのでは? 配列は Erase か、Redim Hoge(0) でクリアできますので、VBA では、 それ以上のご心配は無用かと思います。PF については不要になれば、 OS がいずれ自動破棄するでしょうし。 > 今後とも配列を用いてVBAを記述していく事が多くなると > 思いますので、その辺りの注意点などあれば 「その辺り」とは「どの辺り」なのでしょうか^^? 大量のデータを配列で扱う場合は、データ全体を一度に読み込まないで、 何回かに分割処理します。例えば、100万件のデータなら、一度に 100万件をオンメモリにして、メモリを食いつぶすより、1万件×100回の 処理にした方が全体的なパフォーマンスが向上します。 # メモリが不足するとスワップが発生して著しく遅くなりますよ ...こんな Tips 的な内容のことですか? もう少し、具体的な事例を挙げてもらった方が、回答し易いと思います。
お礼
お返事ありがとうございます。 その後、いろいろ自分でテストしていたのですが、 どうも、自分の勘違いのような感じでした。 お騒がせいたしました。 また >何回かに分割処理します。例えば、100万件のデータなら、一度に >100万件をオンメモリにして、メモリを食いつぶすより、1万件×100回の >処理にした方が全体的なパフォーマンスが向上します。 につきましては、とても参考になりました。 ありがとうございます。