Mam's WebSite
建築CGパース住宅CGパース

Mamの覚書Q&A検索

トップページMamの覚書Q&A検索Excel(VBA)⇒Q&A


大項目:「 Excel 」 - 中項目:「 VBA 」

「 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


Mam's WebSite