|
▼aaa さん:
こんにちは。
>ワークシートチェンジイベントで、ある特定のセルの値が変更された時にイベント(s_creategraph)が発生するようにしたいと考えています。
>
>しかし初期値をそのセルに入れたときにはこのイベントが発生して欲しくないので標準モジュールに
>
>Application.EnableEvents = False
>※初期値入力処理
>Application.EnableEvents = True
>
>としています。
>初期値入力処理のところに、ひとつの標準モジュールにコードを書くとすごく長くなってしまうのでサブルーチン化しています。
>サブルーチンごとに上記の「Application.EnableEvents = False」を入れるのはすごく厄介ですし、どこに書いたのかわからなくなってしまいますので、フラグを立ててワークシートチェンジイベントが走らないようにしたいと思っています。
サブルーチンに飛ぶ前に Application.EnableEvents = False を実行して、サブルーチンから戻った後に Application.EnableEvents = True を実行するという方法がありますよ。
そうすれば、サブルーチン内に書く必要はありません。
また、フラグを立てるとしても、サブルーチン内でフラグを判断するのであれば、サブルーチン内で Application.EnableEvents の処理をするよりも厄介だと思うのですが…
aaaさんの質問の意味を私が理解していないかもしれません。
その場合はごめんなさい。
|
|