BeforeRightClick

Excel VBAでシートを右クリックした時に操作する方法の記録です。

下図は、Excel2016です。

< スポンサーリンク >





構文

Worksheetオブジェクト.BeforeRightClick(Target, Cancel)

ワークシートを右クリックした時に、既定の右クリックの操作の前に発生します。

Target:必須。右クリックしたとき、マウスポインターに最も近いセルが渡されます。
Cancel:必須。イベントが発生すると、Falseが渡されます。イベントプロシージャでこの引数をTrueに設定すると、プロシージャが終了しても既定の右クリックの操作は実行されません。

 

VBEでオブジェクト欄の「(General)」と表示してあるプルダウンの部分を「Wordsheet」を選択し、プロシージャ欄を「BeforeRightClick」を選択します。

BeforeRightClick

 

「Private Sub Worksheet_SelectionChange・・・End Sub」の部分は必要ないので削除します。

BeforeRightClick

 

シートを右クリックしたときにセルがC5だったらメッセージを表示し、それ以外は通常のショートカットメニューが表示されるようにしてみます。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = “$C$5” Then
        Cancel = True
        MsgBox Target.Address & “セルをクリックしました”
    End If
End Sub

BeforeRightClick

 

C5のセル上で右クリックするとメッセージが表示されます。

BeforeRightClick

 

C5以外のセル上で右クリックされると、通常のショートカットメニューが表示されます。

BeforeRightClick

 

< スポンサーリンク >