エクセルのワークシートでChangeイベント利用時に、セルの値を変更する場合のイベント整理方法
Worksheet_Change
Public Const flg_Cancel_chgEvent as Boolean
'------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If flg_Cancel_chgEvent = True Then GoTo finaly_
finaly_:
End Sub
セルの値の書き換え処理の前後
flg_Cancel_chgEvent = True: Me.Unprotect
Target.Offset(1, 0).Value = "↑ 未登録"
flg_Cancel_chgEvent = False: Me.Protect
注意点
イベントキャンセル、プロテクトon は抜け漏れがでやすい
→ セルの値の変更前後に、この処理を入れること
親プロセス
子プロセスに逐一書く