Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7 / 13171 ツリー ←次へ | 前へ→

【80106】特定セル範囲のダブルクリックマクロ 猫の毛だらけ 18/8/16(木) 10:28 質問[未読]

【80114】Re:特定セル範囲のダブルクリックマクロ マナ 18/8/17(金) 19:02 発言[未読]
【80119】Re:特定セル範囲のダブルクリックマクロ 猫の毛だらけ 18/8/19(日) 21:20 お礼[未読]

【80114】Re:特定セル範囲のダブルクリックマクロ
発言  マナ  - 18/8/17(金) 19:02 -

引用なし
パスワード
   ▼猫の毛だらけ さん:

>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行で記述しているので必要だっただけです。

【80119】Re:特定セル範囲のダブルクリックマクロ
お礼  猫の毛だらけ  - 18/8/19(日) 21:20 -

引用なし
パスワード
   マナ様
校正、添削ありがとうございました。
お手数おかけしました。

過去に書いてきたコードの半分ほども無用な文字の羅列だった気がします。
これからは、動作するコードでも文法を練りなおしてスマートに記述できるよう勉強します。

7 / 13171 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free