Excel VBA質問箱 IV

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

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


6073 / 76735 ←次へ | 前へ→

【76264】Re:セルダブルクリック 複数マクロ
お礼  コーヒー  - 14/10/22(水) 16:44 -

引用なし
パスワード
   ▼独覚 さん:

ご丁寧に応用例までご教授いただき、ありがとうございました!
色々と勉強になります。


>▼コーヒー さん:
>Exit Sub
>はそこでマクロを抜ける命令です。
>
>なので今のままでは
>>If Intersect(Target, Range("A2:A10000")) Is Nothing Then Exit Sub
>で、TargetがA2:A10000以外の場合、そこでマクロを抜けてしまってマクロを終了することになります。
>
>回避策としてはいくつかありますがたとえば
>
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>
>  If Not Intersect(Target, Range("A2:A10000")) Is Nothing Then
> 
>    If Target.Value = "" Then
>      Target.Value = Date
>      Cancel = True
>    End If
>  ElseIf Not Intersect(Target, Range("H2:H10000")) Is Nothing Then
>    If Target.Value = "" Then
>      Target.Value = "●"
>      Cancel = True
>    End If
>  End If
>
>End Sub
>
>としてみたり、フラグを追加して
>
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>  Dim CHK_FLG  As Boolean
>  
>  CHK_FLG = True
>  If Intersect(Target, Range("A2:A10000")) Is Nothing Then CHK_FLG = False
>  
>  If CHK_FLG Then
>    If Target.Value = "" Then
>      Target.Value = Date
>      Cancel = True
>    End If
>    Exit Sub
>  End If
>  
>  CHK_FLG = True
>  If Intersect(Target, Range("H2:H10000")) Is Nothing Then CHK_FLG = False
>  
>  If CHK_FLG Then
>    If Target.Value = "" Then
>      Target.Value = "●"
>      Cancel = True
>    End If
>  End If
>
>End Sub
>
>で、どうでしょうか?
>後者の場合は処理の追加に対応しやすいです。

0 hits

【76262】セルダブルクリック 複数マクロ コーヒー 14/10/22(水) 15:19 発言[未読]
【76263】Re:セルダブルクリック 複数マクロ 独覚 14/10/22(水) 15:52 回答[未読]
【76264】Re:セルダブルクリック 複数マクロ コーヒー 14/10/22(水) 16:44 お礼[未読]

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