- Worksheet_Changeイベントを使用する方法: Worksheet_Changeイベントは、ワークシート上のセルの変更を検知するために使用されます。次のコード例は、このイベントを使用して変更を検知し、メッセージボックスに変更されたセルのアドレスを表示する方法です。
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "変更されたセルのアドレス: " & Target.Address
End Sub
このコードをワークシートのコードモジュールに貼り付けます。
- SelectionChangeイベントとBeforeDoubleClickイベントを使用する方法: SelectionChangeイベントとBeforeDoubleClickイベントを組み合わせて使用することで、セルの変更を検知することができます。次のコード例は、この方法を使用して変更を検知し、メッセージボックスに変更されたセルのアドレスを表示する方法です。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static previousCell As Range
Set previousCell = Target
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, previousCell) Is Nothing Then
MsgBox "変更されたセルのアドレス: " & Target.Address
End If
End Sub
このコードをワークシートのコードモジュールに貼り付けます。
- Application.OnKeyメソッドを使用する方法: Application.OnKeyメソッドを使用することで、特定のキーが押された場合にセルの変更を検知することができます。次のコード例は、Enterキーが押された場合に変更を検知し、メッセージボックスに変更されたセルのアドレスを表示する方法です。
Private Sub Workbook_Open()
Application.OnKey "~", "DetectCellChange"
End Sub
Sub DetectCellChange()
MsgBox "変更されたセルのアドレス: " & ActiveCell.Address
End Sub
このコードをExcelのワークブックのThisWorkbookコードモジュールに貼り付けます。
これらはいくつかのセル変更検知の方法とそれぞれのコード例です。必要に応じて、これらの方法を組み合わせたり、カスタマイズしたりすることができます。