|    | 
     ▼猫の毛だらけ さん: 
 
>Dim myTarget As Range 
 
↑は不要です。 
 
'----- 
 
 "good"でも"error"でも、Cancelするなら 
最後または最初に、Cancel = True を記述すればよいです。 
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
 
 If Not Application.Intersect(Target, Range("A1:C1")) Is Nothing Then 
   MsgBox "good" 
 Else 
   MsgBox "error"   
 End If 
 
 Cancel = True 
 
End Sub 
 
'----- 
 
 
>Set myTarget = Application.Intersect(Target, Range("A1:C1")) 
> If myTarget Is Nothing Then 
   Exit Sub 
> End If 
 
↑最初の質問文のコードのように、 
A1:A3以外のときは、なにもしないで終了し 
通常のダブルクリック処理をしたいなら、 
 
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
 
 If Application.Intersect(Target, Range("A1:C1")) Is Nothing Then 
  Exit Sub 
 End If 
  
 Cancel = True 
 'A1:C3をダブルクリックで実行することを以下に記述 
 MsgBox "good" 
  
End Sub 
 
'----- 
   
> Else: 
 
↑の:は不要です。 
 
>Else: MsgBox "error" 
 
↑は、1行で記述しているので必要だっただけです。 
 
 | 
     
    
   |