2011-06-30 29 views
1

マクロを実行すると「メモリ不足」というメッセージが表示されます。投稿するには時間がかかりますが、Excel 2007のメモリ使用量をより適切に制御するヒントはありますか?オブジェクトやこれのようなものを取り除く。私はこれをする方法を知らない。vbaメモリ使用率の最適化

最高、U

+1

コードがないと、それがなぜそうであるべきかを理解することは難しいでしょう。一般に、メモリオブジェクトには、使用したリリース変数が大きくないようにしてください。このエラーが発生する特定の行はありますか? – shahkalpesh

+0

仕上げ後に発生することがありました。基本的に私は、ユーザーフォームで定義した基準に応じて、ワークシートの書式設定と移入を行うサブルーチンをたくさん持っています。私はこれらのサブルーチンをすべて私の「メイン」サブルーチンと呼んでいます。 – user366121

答えて

2

Excelはこのメッセージで有名で、チャンスはあなたのコンピュータのメモリとは関係ありません。私はラインコンピュータの最上部にこのメッセージを100kbエクセルプログラムで提示しました。キーはあなたのユーザーフォームと、特定の部品がどのように呼び出されるかを決定します。最善の策は、あなたのユーザーフォーム内にリストした各イベントを実行し、いずれが原因かを確認することです。注意すべき もの: すべてのテキストボックスの後にコール

userform1.showのvbmodeless

、およびその他のコントロールが設定されています。

これは時々動作します。

2

は...基本的に私は私が ユーザーフォームで定義した基準に応じて、ワークシート をフォーマットし、移入するサブルーチン がたくさんあります。

@shahkalpeshのコメントに同意します。ただし、問題を特定するための戦略を探している場合は、メインルーチンから各サブルーチンを呼び出して、タスクマネージャでExcelのメモリを確認した後にメッセージボックスを配置してみることもできます。

これはおそらく、違反コードを取り除くのに役立ちます。一度見つけたら、ここにコードを投稿して問題を解決できます。

+1

"メッセージボックスを入れる"または、プログラムをデバッグモードでステップ実行します。 –

+0

@ Jean-FrançoisCorbettはいくつかのサブルーチンに渡って数千行のコードをステップアップしようとしたことがありますか? 「投稿するには時間がかかりすぎる」というコメントに基づいて、私は「やりすぎではない」と推測しています。メッセージボックスは、F8キーを押し続けている間も特定の手順に問題を特定するのに役立ちます。ブレークポイントは各ルーチンに設定することもできます...私は*愛*メッセージボックス:P – ray

+0

答えははい、私は持っています。それが正しい、ブレークポイントです。そして、あなたが感じるファンクションキーが適切であれば、 –

関連する問題