Changeイベントを使うときの注意

Pocket

Excel、VBAでChangeイベントを使うときには次の点に注意する必要があります。
Changeはワークシート上のどこが変わっても実行されます。
例えば、入力したセルを内容によって変換処理するようなケースを考えます。
まず入力することによって「変更イベント」が起きます。これを受けて変換処理が実行されます。
これによって「変更イベント」が起きます。また変換処理が実行されます。
延々と繰り返されて止まらなくなります。

これを防ぐためには、処理の直前に「ここからは変更イベントが起きても認識するな」という命令を入れる必要があります。これが「Application.EnableEvents = False」です。
目的の処理が終われば、「True」をセットして元に戻します。

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
        Call プロシージャ
    Application.EnableEvents = True
End Sub

[ 2011年1月21日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報