
エクセル2003で列全体を指定して文字の中央揃えをしていたら
突然
「リソース不足のため、このタスクを完了できません。
選択するデータを少なくするか、ほかのアプリケーションを
終了して再度試してくださ」
とメッセージがでました。
確かに大きなファイル(50MB)でマクロも数式もたくさん使用していますが
こんなのは初めての経験なので驚いています。
このとき
ほかのアプリケーションは起動させていませんでした
マクロの変数宣言でリソースを使い過ぎているのでしょうか
選択するデータを少なくすればこのまま使い続けられるか不安です
対処法を教えてください
No.2ベストアンサー
- 回答日時:
Barracudaです。
> マクロの変数宣言でリソースを使い過ぎているのでしょうか
この部分に注目しすぎました。
Excelマクロは標準モジュールに記述するから、ここに変数を大量に定義すればリソース不足になるかもしれない、と思ったのです。
しかし、マクロ実行中ではなく列全体を中央揃えしているときにリソース不足が発生したのなら、マクロは関係ありません。
大量に変数を定義していても、マクロが終了すれば解放されるからです。
このあたりがアプリを作成する際のAccess的考え方をしていました。
ちなみに、グローバル変数を説明すると長くなるので、「すべてのワークシートから参照できる変数」と思ってください。
キーボードマクロが記録される「標準モジュール」内に記述するとグローバル変数になります。
これに対し、シートやフォームで定義する変数が「ローカル変数」で、定義したモジュール内でしか使えません。
当然グローバル変数の方がリソースを多く使うので、なるべくローカル変数にすると良いかもしれないと思いました。
ちなみに、標準モジュールに記述する必要があるのは、複数のモジュールで共通に使用するサブルーチンや変数、ロード時に実行させたいコードなど、限られています。
ご質問のリソース不足ですが、画像がない状態で50MBもあり、計算式が大量に記述されていれば、再計算時に相当リソースを消費しそうです。
計算を手動にしてリソース不足が発生しなければ、単にファイルが大きすぎるだけ、という可能性が高くなります。
それにしても50MBとは、あまりに大きすぎるような気がします。
300-400KBの画像を1400枚貼り付けたExcelファイルを作ったことがありますが、それでも49MB程度でした。
ご参考までに。
仕事上1年間のデータを蓄積する為に、大きな範囲(5000行)
にデータベース関数を貼り付け
ご丁寧にも異常な箇所が判明しやすいようにと条件付書式を
設定していますので、
こんな馬鹿でかいファイルになってしまいました
>計算を手動にしてリソース不足が発生しなければ、単にファイルが>大きすぎるだけ、という可能性が高くなります。
ありがとうございます。
この一文だけでホットしました。
単にファイルが大きすぎるだけでフリーズの可能性は低そうなので
安心しました。
今、ファイルのダイエットに奮闘しています。
それと、計算を手動にするのも忘れないようにっと。
No.1
- 回答日時:
リソース不足とは、また懐かしいエラーが発生しましたね。
Win9xはリソースが64KBしかないために頻発しましたが、NT系は1MB or 3MBあるので事実上不足することはないと聞いたことがあります。
しかし、Excelで50MBというサイズでグローバル変数を大量に定義していたら、リソース不足になるかもしれませんよ。
一時的にリソースを使いそうな部分をコメントアウトしてみて、どうなるか確かめるのがいいのではないでしょうか。
また、グローバル変数の使用は最小限にするといいかもしれません。
当方Access使いなので、Excelではあまり参考にならないかもしれませんが。
早速回答ありがとうございます
>一時的にリソースを使いそうな部分をコメントアウトしてみて、ど>うなるか確かめるのがいいのではないでしょうか。
>また、グローバル変数の使用は最小限にするといいかも
>しれません。
グローバル変数を最小限にするとは具体的にどのようにするのでしょう
よろしかったら教えてください
Access使い・・・・うらやましいです(^_^)
当方Accessに挑戦したのですが挫折組です。(T_T)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
- Excel(エクセル) エクセル終了が遅くなった 7 2022/04/19 12:11
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えてください!vector works...
-
リソースの編集ができません。...
-
教えてください!vectorworksに...
-
エクセルを開くと極端にリソー...
-
YouTubeの取り込み映像が再生で...
-
メディアプレイヤーの設定につ...
-
エクセルのファイルだけが閉じ...
-
印刷時のみ「複写禁止」などを...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
バッファとは何ですか
-
Access クエリ実行が急に非常に...
-
動画処理のライブラリについて
-
JavaScriptでコマンドプ...
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
分割コンパイルの#defineについて
-
コンパイルするときに、ファイ...
-
windows.hがincludeされない
-
フルパスから最後のディレクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudioのプロジェクトリ...
-
リソースの編集ができません。...
-
サーバにあるEXEを複数の端末で...
-
エクセルのリソース不足
-
「リソースモニター」の「ネッ...
-
X windowで設定できるリソース...
-
エクセルのファイルだけが閉じ...
-
ソフトウェア 日本語化 リソ...
-
印刷時のみ「複写禁止」などを...
-
「元に戻す」回数設定について
-
リソースメーターのGDIリソ...
-
翻訳をお願いいたします
-
ブラウザで大量のコンボボック...
-
ページごと削除したい
-
Access クエリ実行が急に非常に...
-
フルパスから最後のディレクト...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
dataファイルをxtxファイルにす...
おすすめ情報