Excel VBA質問箱 IV

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

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


6074 / 76735 ←次へ | 前へ→

【76263】Re:セルダブルクリック 複数マクロ
回答  独覚  - 14/10/22(水) 15:52 -

引用なし
パスワード
   ▼コーヒー さん:
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 お礼[未読]

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