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

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

VBAコード(右クリックメニューから実行する処理)

標準モジュールに、右クリックメニューから実行するサブプロシージャを作成します。
※ここでは例としてサブプロシージャ「showMessage」を作成します。

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

VBAコード(右クリックメニューに項目を追加する処理)

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 = "オリジナルメニュー!(^^)!"
        '紐づけるサブプロシージャ名
        .OnAction = "showMessage"
        '追加する項目に設定するアイコン
        .FaceId = 931
    End With
    
End Sub

実行結果

シート上で右クリックし追加した項目をクリックすると、紐づけたサブプロシージャが実行されます。

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