
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Visual Basic(VBA) VBA ユーザーフォーム 3 2022/04/14 10:30
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
このQ&Aを見た人はこんなQ&Aも見ています
-
vbaのエラー対応(実行時エラー7:メモリが不足しています)
Visual Basic(VBA)
-
メモリが不足しています(VBA)
Visual Basic(VBA)
-
EXCELのVBAで作業ファイルを閉じてもメモリの解放をしなくて困っています
Excel(エクセル)
-
-
4
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
5
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
6
[VBA]改行入りのセルの値を配列に格納したい
Visual Basic(VBA)
-
7
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
8
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザー定義関数に#NAME?が返...
-
初歩的な質問ですがよろしくお...
-
vba userFormのSubを標準モジュ...
-
モジュールとクラスの違いって...
-
Excel VBA 定義されたプロージ...
-
【vba】フォームに書いてあ...
-
フォーム内のテキストボックス...
-
Excel VBA 『Call』で呼び出す...
-
VBのフォームモジュールと標準...
-
SendKeysの使い方について
-
ベースモジュールって?
-
Excelシート内セル記述の違いに...
-
現在アクティブなフォーム名を...
-
acwzlibとは?
-
Excelで時刻になったら知らせて...
-
VBAで別モジュールへの変数の受...
-
KAKASI[変換ソフトをperlで使う...
-
vba 標準モジュールインポート...
-
エクセルVBAで標準モジュー...
-
プログラムでノッチフィルタの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
Excel VBAで、ユーザーフォーム...
-
ユーザー定義関数に#NAME?が返...
-
vba userFormのSubを標準モジュ...
-
Excel VBA 定義されたプロージ...
-
モジュールとクラスの違いって...
-
モジュールの最大数はいくつな...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
【vba】フォームに書いてあ...
-
SendKeysの使い方について
-
モジュールからフォームのボタ...
-
VBAで旧字体を異字体に一括で変...
-
モジュールとは何ですか
-
ExcelでTelnetを動かしたい
-
標準モジュールを削除したい。(...
-
VBA This Workbookモジュール...
-
Access VBA標準モジュールにつ...
おすすめ情報