メモとして残します。
Sheetモジュールに下記を追記
■やり方
Private Sub Worksheet_Change(ByVal Target As Range)
' I列以外のchangeは以降処理しないようにする。
If Intersect(Target, Range("I1:I" & Rows.Count)) Is Nothing Then
Exit Sub
End If
'処理・・・・・・・・
'Target.Cells.Item(1) '変更されたセルのオブジェクト
End Sub
■さいごに
あくまでシート全体での検知を第一段階でやる必要があるため、複数列やる場合は Worksheet_Change
内でさらに分岐してやる必要があります。
なので、疑似的なハンドリングになりますね。