
VBAツールを作成しました。それぞれ3000行位のデータの1列を取得して、テキストファイルに書き出すツールです。
それが5シート分あり、ボタンを押して実行させます。
標準モジュールに関数が6個
各シートモジュールは関数7個×4シート分
極端に多いモジュールではないと思います。
「メモリが不足しています」と表示されるようになり、
これ以上記入もできない状態です…。
エクセル自体は18MBあります。
PCのCドライブには8GB空きがあります。
PCを変えてエクセルを開いてみても、開いた途端に「メモリが不足しています」と出ます。
どの関数の実行ボタンを押しても、実行はされず、メッセージが出るだけです…。
助けてください!!!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>それぞれ3000行位のデータの1列を取得して、テキストファイルに書き出すツールです
この意味が(必要性が)良くわからないが、1つのシートで良いから具体例を5行ほど挙げてもらえないかな。
そして、どういうことをしたいのかを。
VBAを私でも組めそうに思った。
ーー
もしできたら、それを質問者が実行して、メモリが不足しています、になるかな。
質問者のVBAの技量が判らないが、コードの組み方がもっと簡単なやり方にできるのではと思う。
>各シートモジュールとはどういうことだろうか。イベントプロシージャ以外は考えにくいが、何が(コード)入っているのかな。
>関数7個
関数は使っている関数の個数か。関数プロシージャーを置いているのか。関数は標準モジュールに置くことが多いと思うが。
参考
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub0 …
No.1
- 回答日時:
以前会社で似たような状態を見たことがあります。
エクセル自体の大きさが15MB程でしたが使用者のパソコン(メモリー512MB)では開けず私のパソコン(メモリー2GB)で試したところ時間は掛りましたが開くことが出来き対応をしました。
流石にエクセルで10MBを超えると開くだけで物理メモリーを消費します。
仮想メモリーに割り当てられている最大を上げることで一時しのぎは出来ます。
最大値の目安は搭載物理メモリの倍(512MBならば1024MB)が良いと聞いたことがあります。
根本的な対策として以下項目を検討してください。
(1)処理を分割する
(2)エクセル終了時に取得データを消して終了する
(3)シートを複数ブックに分割する
具体的にどのようなプロセスで取得~書き出しを行っているか分からないので現状言えるのはこのくらいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
vbaのエラー対応(実行時エラー7:メモリが不足しています)
Visual Basic(VBA)
-
メモリが不足しています(VBA)
Visual Basic(VBA)
-
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
-
4
EXCELのVBAで作業ファイルを閉じてもメモリの解放をしなくて困っています
Excel(エクセル)
-
5
[VBA]改行入りのセルの値を配列に格納したい
Visual Basic(VBA)
-
6
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
7
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
CGI.pmはもう古い!?
-
エクセルVBAでシートモジュール...
-
VBAを使用してWordからExcelの...
-
Form間の値の渡し方
-
Excel VBAで、ユーザーフォーム...
-
Access VBA標準モジュールにつ...
-
シートモジュールで使う変数を...
-
本当にPublicな変数(配列で)
-
モジュールの最大数はいくつな...
-
標準モジュールを削除したい。(...
-
Excel VBA マクロの実行方法に...
-
vba 標準モジュールインポート...
-
Access runtimeについて
-
プログラムでノッチフィルタの...
-
linux mintで(EE )Failed to lo...
-
マクロについて教えてください。
-
Excel VBA の変数についてお尋...
-
「デバイスは PRN を初期化でき...
-
Excel VBAで、ユーザーフォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォーム...
-
Excel VBA 定義されたプロージ...
-
vba userFormのSubを標準モジュ...
-
標準モジュールを削除したい。(...
-
'Range'メソッドは失敗しました
-
VBAで別モジュールへの変数の受...
-
モジュールからフォームのボタ...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
モジュールとクラスの違いって...
-
【vba】フォームに書いてあ...
-
Form間の値の渡し方
-
VBのフォームモジュールと標準...
-
VBA モジュールで共通に使う変...
-
Excel VBA 『Call』で呼び出す...
-
acwzlibとは?
おすすめ情報