
エクセル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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えてください!vector works...
-
教えてください!vectorworksに...
-
IEのアドレスバーが使用不可
-
リソースは何者?
-
自己啓発の重要性と方法
-
ページごと削除したい
-
OE終了後リソースが戻らない
-
メディアプレイヤーの設定につ...
-
エクセルを開くと極端にリソー...
-
ウィルスバスターのせい?
-
大きなゴミ箱がいい
-
VisualStudioのプロジェクトリ...
-
ここ数日フリーズが多いのですが
-
GDIEXEエラーで困っています
-
.comマスターの試験問題のこと
-
Wordの文章が保存できません。
-
C言語初心者の質問失礼します。
-
他の.CPPファイルに定義した関...
-
どんなプログラムを書いても指...
-
JavaScriptでコマンドプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudioのプロジェクトリ...
-
リソースの編集ができません。...
-
サーバにあるEXEを複数の端末で...
-
エクセルのリソース不足
-
「リソースモニター」の「ネッ...
-
X windowで設定できるリソース...
-
エクセルのファイルだけが閉じ...
-
ソフトウェア 日本語化 リソ...
-
印刷時のみ「複写禁止」などを...
-
「元に戻す」回数設定について
-
リソースメーターのGDIリソ...
-
翻訳をお願いいたします
-
ブラウザで大量のコンボボック...
-
ページごと削除したい
-
Access クエリ実行が急に非常に...
-
フルパスから最後のディレクト...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
dataファイルをxtxファイルにす...
おすすめ情報