★セルA2の値に変更があった時のイベント

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A2")) Is Nothing Then
        Exit Sub
    Else
    UserForm1.Show
        MsgBox "セルの値が変更されました"
    End If
End Sub 

 

★ダブルクリックされた時のイベント


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  'セルWクリック
With Target
     If .Count > 1 + IsEmpty(.Value) Then Exit Sub
     If Application.Intersect(.Cells, Range("B:B")) Is Nothing Then Exit Sub
     Range("A2").Value = .Value
    
     UserForm1.Show
    
 End With
End Sub

'B列のセルをダブルクリックいた時に、セルA2にダブルクリックしたセルの値を入れる。

その後、フォームを立ち上げる。