トップへ(mam-mam.net/)

EXCELのメニューバーに独自のメニューを追加するには

検索:

「EXCELのメニューバーに独自のメニューを追加するには」

アドインを作成中です。EXCELメニューバーに独自のメニューを追加して、クリック時にVBAを実行したいのですが。

回答

以下のソースを参考にしてください。

ソース

REM 独自のメニューを追加します。
Sub AddMyMenu()
    Dim MainMenu As Variant, SubMenu1 As Variant, SubMenu2 As Variant

    REM メニューバーに独自のメニューを追加する
    Set MainMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup)
    MainMenu.Caption = "独自のメニュー(&M)"

    REM 独自メニューのサブメニューを追加する。クリックでMacro1プロシージャを実行する
    Set SubMenu1 = MainMenu.Controls.Add
    With SubMenu1
        .Caption = "Macro1を実行(&A)"
        .OnAction = "Macro1"
        .BeginGroup = False
        .FaceId = 3   '表示するアイコンです。3はフロッピーアイコンを表示します。
    End With

    REM 独自メニューのサブメニューを追加する。クリックでMacro2プロシージャを実行する
    Set SubMenu2 = MainMenu.Controls.Add
    With SubMenu2
        .Caption = "Macro2を実行(&B)"
        .OnAction = "Macro2"
        .BeginGroup = False
        .FaceId = 3
    End With
End Sub


REM 追加した独自のメニューを削除します。
Sub DeleteMyMenu()
    Application.CommandBars("Worksheet Menu Bar").Controls("独自のメニュー(&M)").Delete
End Sub