Changeイベントを使うときの注意
Excel、VBAでChangeイベントを使うときには次の点に注意する必要があります。
Changeはワークシート上のどこが変わっても実行されます。
例えば、入力したセルを内容によって変換処理するようなケースを考えます。
まず入力することによって「変更イベント」が起きます。これを受けて変換処理が実行されます。
これによって「変更イベント」が起きます。また変換処理が実行されます。
延々と繰り返されて止まらなくなります。 (さらに…)
ゆるくつくる stabuckyのブログ
Excel、VBAでChangeイベントを使うときには次の点に注意する必要があります。
Changeはワークシート上のどこが変わっても実行されます。
例えば、入力したセルを内容によって変換処理するようなケースを考えます。
まず入力することによって「変更イベント」が起きます。これを受けて変換処理が実行されます。
これによって「変更イベント」が起きます。また変換処理が実行されます。
延々と繰り返されて止まらなくなります。 (さらに…)
Word文書を閉じるタイミングで更新日時(正確には現在日時)を文末に追加するマクロです。
閉じる都度、更新日時が追加されます。 (さらに…)
Wordでは、ドキュメントを開いたり閉じたりするイベントに応じて、マクロを実行させることができます。
例えば次のようなイベントがあります。
Application.DocumentOpen イベント
Application.DocumentBeforePrint イベント
Application.DocumentBeforeSave イベント
Application.DocumentBeforeClose イベント
このうち、ドキュメントを保存するときに発生する「DocumentBeforeSave イベント」について説明します。
サンプルはWordのヘルプに記載されているものをそのまま使います。ただし単純に貼り付けただけでは動きません。Word2007で確認しました。 (さらに…)
普通、Excelのマクロは、ボタンを押したり、メニューから選択したときに実行されます。
ワークシートが変わったときに自動的にマクロを実行するようにすることもできます。
その方法は次の通りです。
このように書くと3行目8列目のセルが変わったときに指定したプロシージャが動作します。
もしIfを使わないとそのシートのどこかのセルが変わったときに動作します。何かをやる度にプロシージャが動作してしまうので意図しない動きをするかもしれません。