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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArduinoのジャイロモジュールMP...
-
Excel VBAでリンク切れをチェッ...
-
モジュールとクラスの違いって...
-
Excel VBA 定義されたプロージ...
-
Excelで時刻になったら知らせて...
-
グラフのX,Y座標を取得したい
-
vba 標準モジュールインポート...
-
VB.NETでの他アプリケーション...
-
VBAのモジュールについて教えて...
-
Apache2 静的・動的モジュール...
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォーム...
-
VBAで別モジュールへの変数の受...
-
VBA モジュールを閉じるショー...
-
モジュールとは何ですか
-
Access VBA標準モジュールにつ...
-
ExcelVBA:パブリック オブジェ...
-
VBA ユーザーフォーム Image1 ...
-
関数の引数にクラスを使いたい
-
excel vba です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
モジュールとは何ですか
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
-
グラフのX,Y座標を取得したい
-
モジュールの最大数はいくつな...
-
【vba】フォームに書いてあ...
-
VBAで旧字体を異字体に一括で変...
-
Excel VBAで、ユーザーフォーム...
-
Form間の値の渡し方
-
モジュールとクラスの違いって...
-
Access VBA標準モジュールにつ...
-
本当にPublicな変数(配列で)
-
標準モジュールを削除したい。(...
おすすめ情報