まず、右クリックで表示したいメニューをあらかじめ作成しておきます。
以下がそのサンプルです。
Sub Sample43()
With Application.CommandBars.Add("オリジナル", msoBarPopup)
With .Controls.Add
.Caption = "マクロ1"
.OnAction = "macro1"
End With
With .Controls.Add
.Caption = "マクロ2"
.OnAction = "macro2"
End With
With .Controls.Add
.Caption = "マクロ3"
.OnAction = "macro3"
End With
End With
End Sub
次に、シートモジュールに以下の様に入力します。
右クリックした時、既定のメニューは表示させずに、「オリジナル」という名前のメニューを表示します。
'右クリックを無効にし、「オリジナル」という名前のメニューを表示する
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Application.CommandBars("オリジナル").ShowPopup
End Sub
'作成したメニューの削除するには以下を実行
Sub Sample43a()
Application.CommandBars("オリジナル").Delete
End Sub