Excel 2010 でマクロを作成していたら、
「メモリ不足です。完全に表示できません。」とのメッセージが表示されるようになりました。
さらに悪いことに、シート(セル)操作をすると Excel がいきなり何も言わずに終了するようになりました。
自動保存されていないソースコードは消失。せっかくの努力も雲散霧消。
昨日 Office 2010 の SP2 を適用したばかりなので、それが悪さをしているのかと思い、
Office 2010 SP2 をアンインストールしました。
が、PCを再起動しても、
メモリ不足のメッセージは相変わらず現れ、Excel 突然の終了も頻発してしまいます。 (x_x)!!
他人(SP2)のせいではなく自分(Excel VBA)に問題があるのだろうと素直に反省して、
ソースを読み直してみました。
あっ、やはり自分のせいでした。
あるセルの値が変化したら、隣のセルを自動的に変更するような VBA を書いていました。
より具体的にいうと、
施設の名前が選択されたら、その右隣りのセルに施設コードをセットする・・・
そんな VBA です。
画面のイメージは次のとおり。
で、何が問題だったか。
VBA では、施設が選択されたら(「Worksheet_Change」のイベントが発生したら)
隣のセルに施設コード(画像では code)をセットするようにしています。
VBA で施設コードがセットされたら
(当たり前ですが)「Worksheet_Change」のイベントが発生します。
そのイベントによって、また「Worksheet_Change」のイベントが発生する・・・
これが「メモリ不足」の原因でした。
なので、イベントを検知しないようにしました。
Application.EnableEvents = False
(施設コードをセットした後では、イベントを検知するように戻しています。)
下がそのソース(画像)です。
何とも哀しい未熟者ですが、こんな経験を重ねていくうちに少しは進歩するでしょう・・・
【2014-12-21 追記】
Excel で「メモリ不足です。完全に表示できません」と表示される原因は、
上述のようにプログラムミスもありますが、それ以外にもあるようです。
別記事で、マイクロソフトの情報を追記しました。
そちらもご参照ください。
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・
「メモリ不足です。完全に表示できません。」とのメッセージが表示されるようになりました。
さらに悪いことに、シート(セル)操作をすると Excel がいきなり何も言わずに終了するようになりました。
自動保存されていないソースコードは消失。せっかくの努力も雲散霧消。
昨日 Office 2010 の SP2 を適用したばかりなので、それが悪さをしているのかと思い、
Office 2010 SP2 をアンインストールしました。
が、PCを再起動しても、
メモリ不足のメッセージは相変わらず現れ、Excel 突然の終了も頻発してしまいます。 (x_x)!!
他人(SP2)のせいではなく自分(Excel VBA)に問題があるのだろうと素直に反省して、
ソースを読み直してみました。
あっ、やはり自分のせいでした。
あるセルの値が変化したら、隣のセルを自動的に変更するような VBA を書いていました。
より具体的にいうと、
施設の名前が選択されたら、その右隣りのセルに施設コードをセットする・・・
そんな VBA です。
画面のイメージは次のとおり。
で、何が問題だったか。
VBA では、施設が選択されたら(「Worksheet_Change」のイベントが発生したら)
隣のセルに施設コード(画像では code)をセットするようにしています。
VBA で施設コードがセットされたら
(当たり前ですが)「Worksheet_Change」のイベントが発生します。
そのイベントによって、また「Worksheet_Change」のイベントが発生する・・・
これが「メモリ不足」の原因でした。
なので、イベントを検知しないようにしました。
Application.EnableEvents = False
(施設コードをセットした後では、イベントを検知するように戻しています。)
下がそのソース(画像)です。
何とも哀しい未熟者ですが、こんな経験を重ねていくうちに少しは進歩するでしょう・・・
【2014-12-21 追記】
Excel で「メモリ不足です。完全に表示できません」と表示される原因は、
上述のようにプログラムミスもありますが、それ以外にもあるようです。
別記事で、マイクロソフトの情報を追記しました。
そちらもご参照ください。
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・