構文
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean
Target・・・ ダブルクリックしたセル位置をRange形式で取得
Cancel・・・False(ダブルクリック処理を実行)【初期値】
・・・True(ダブルクリック処理を実行しない※キャンセル)
Cancel・・・False(ダブルクリック処理を実行)【初期値】
・・・True(ダブルクリック処理を実行しない※キャンセル)
WorkSheet内のセルをダブルクリックした際に起動します。
Worksheet_BeforeDoubleClickイベントのサンプルコード
標準モジュールではなく、WorkSheetモジュール(Microsoft_Excel_Objects_Sheet1_(Sheet1)等)に記載します。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) '■特定セルで起動する場合(セルE10) If Target.Address = "$E$10" Then MsgBox "特定セル" End If '■特定セル範囲で起動する場合(セルのC4~E5) If Not Intersect(Target, Range("C4:E5")) Is Nothing Then MsgBox "特定セル範囲" End If '■特定列で起動する場合(B列(2列目)の場合) If Target.Column = 2 Then MsgBox "特定列" End If '■特定行で起動する場合(1行目の場合) If Target.Row = 1 Then MsgBox "特定行" End If '■Trueにするとダブルクリック(セルの編集状態)はキャンセルされます '■Falseにするとダブルクリック(セルの編集状態)になります Cancel = True End Sub
注意点
- 標準モジュール(Module1等)に記載しても動作しません。
- 該当の処理をしたいWorkSheetモジュールに記載しましょう。
- 例ではMsgboxで表示していますが、こちらをよく使うのは別プロシージャの呼び出しです。
Callを使った他プロシージャの呼出、引数付きのSubプロシージャやFunctionプロシージャなどを呼び出しするケースが大半でしょう。
コメント