右クリックメニューに自作したVBAマクロを追加する

自作したVBAマクロを、
右クリックメニューに追加し実行することができます!

準備

標準モジュールまたはThisWorkbookに、右クリックメニューに追加するプロシージャを作成します。
※ここでは例としてプロシージャ「showMessage」を作成します。

Sub showMessage()

    MsgBox "右クリックメニューに追加しました!", vbInformation, "メッセージ"

End Sub

右クリックメニューに自作マクロを追加する

ThisWorkbookに、シートを右クリックした際のイベント「Workbook_SheetBeforeRightClick」を作成し、右クリックメニューに自作マクロを追加するコードを記載します。
※ここでは「準備」で作成したプロシージャ「showMessage」を追加します。

'シートを右クリックした際のイベント
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    
    '右クリックメニューを初期化
    Application.CommandBars("Cell").Reset
    
    With Application.CommandBars("Cell").Controls.Add()
        '追加するメニュー名
        .Caption = "オリジナルメニュー!(^^)!"
        '追加するメニューに設定するVBAマクロ(プロシ-ジャ名)
        .OnAction = "showMessage"
        '追加するメニューに設定するアイコン
        .FaceId = 931
    End With
    
End Sub

結果

シート上で右クリックし追加したメニューをクリックすると、設定したVBAマクロが実行されます。

タイトルとURLをコピーしました