
Excel VBAでシート上でダブルクリックしたときに、自動で処理を実行する記録です。
シート上でダブルクリックしたときに処理を実行するには「BeforeDoubleClick」イベントを使います。
下図はExcel2016です。
< スポンサーリンク >
構文
Worksheetオブジェクト.BeforeDoubleClick(Target, Cancel)
規定のダブルクリックの操作の前に、ワークシートをダブルクリックしたときに発生します。
Target=必須。ダブルクリックしたときにマウスポインターに最も近いセルが渡されます。
Cancel=イベントが発生するとFalseが渡されます。イベントプロシージャでこの引数をTrueに設定すると、プロシージャが終了しても規定のダブルクリックの操作は実行されません。
サンプル1:ダブルクリック時に該当のセル番地をメッセージで表示
ダブルクリックしたときに該当のセル番地をメッセージで表示してみます。
VBEを開き、該当のシートを選択しておきます。

左側のオブジェクトボックスで「Worksheet」を選択し、右側のプロシージャボックスで「BeforeDoubleClick」を選択します。

「Private Sub Worksheet_SelectionChange(ByVal Target As Range)」の部分は不要なので消します。

下記のように書き込みます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox Target.Address
End Sub

G6セルをダブルクリックしてみます。

セル番地がメッセージで表示され、該当のセルが編集中になりました。


サンプル2:ダブルクリック時に特定のセルだったら編集状態にしない
ダブルクリックしたときに、A1のセルだったら編集状態にしないようにしてみます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = “$A$1” Then
Cancel = True
End If
End Sub


こんな記事も書いています
