Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rng1 As Range, rng2 As Range
Set rng1 = Range("a1:a10")
Set rng2 = Range("b1:b10")
If Not Intersect(Target, rng1) Is Nothing Then
UserForm1.Show
Else
Cancel = True
End If
If Not Intersect(Target, rng2) Is Nothing Then
UserForm1.Show
Else
Cancel = True
End If
End Sub
Assim,ao fazer-se duplo clique em qualquer célula do(s) Range(s) indicados e só nessas células, é que o UserForm é apresentado.