イベントは"きっかけ"
「どれどれ…。ああ、イベントですね。
マクロを動作させる"きっかけ"になるものを、イベントと呼ぶんですよ。
例えばボタンをクリックしたら、Clickイベントというのが発生してマクロが呼び出されます。
同じように、セルの選択を変更したり、ブックを起動したりしても、
それぞれのイベントが発生するんです。
ここでは、Worksheet_Changeだから、シートに変更を加えたときにイベントが発生します。
その中で、さらにセルを変更する処理をしてるので、再度イベントが発生しちゃうんですよ」
泉先輩はフンフンと、感心した顔で彼の説明を聞いています。
「VBAから変更したときも、イベントが発生するんですか?」
「はい。これをイベントの連鎖といいます。
…で、それを防ぐために、イベントの発生を抑止する命令がちゃんと用意されてるんです。
Application.EnableEventsというのが、その命令で、このプロパティにFalseを設定すると、
次にTrueを設定するまでの間、イベントが発生してもVBAは無視するんです」
「すっご~~~い!わっかりやすい~~!!」
泉先輩は、星くんの方を向いて言います。
「決めた!…あたし、明日から毎日、勉強会に参加するわ!」
星くんは口元をひきつらせながら、泉先輩の言葉に相槌を打ちます。
「…は、はい……。一緒にがんばりましょう」
星くんは心の中で、"なんか面倒くさいことになってきたぞ…"と感じていました。