クリックしたセルの値を取得
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next ' クリックセルの値チェック If Target.Value <> "[削除]" Then Exit Sub ' クリックセルの範囲チェック If Target.Row < 2 Then Exit Sub If Target.Column <> 8 Then Exit Sub ' クリック行の値を取得 id = ActiveSheet.Cells(Target.Row, 1).Value End Sub |
セルの値の変更をチェック
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Dim beforeValue As Variant Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column <> 6 Then Exit Sub If beforeValue <> Target.Value Then MsgBox "変更されました" & Chr(13) & Target.Value End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next If Target.Column <> 6 Then Exit Sub beforeValue = Target.Value End Sub |
UserFormからシートのSelectionChangeを拾う場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Private WithEvents e As Application Sub e_SheetSelectionChange(ByVal w As Object, ByVal Target As Range) If ToggleButton1.Value = False Then Exit Sub ' w.Parent.Name ' ブック名 ' w.Name ' シート名 ' Target.Address ' 選択範囲 ' Target.Item(1).Address ' 選択範囲の左上 Debug.Print Target.Item(1).Value r = Target.Item(1).Row TextBox19.Text = w.Cells(r, 1).Value End Sub Sub UserForm_Initialize() Set e = Application End Sub |