【Excel VBA】メニューバーにマクロ実行を追加する

スポンサーリンク

メニューバーにマクロ実行を追加する

Excelにて、メニューバーをオリジナルにカスタマイズできるマクロです。
具体的にいうと、自作したマクロをメニューバーに追加するマクロです。

あらかじめ実行する処理を自作マクロとして記述しておけば
メニューバーからすぐに実行できます。

特にExcelアドオンでちょっとした追加機能を設けたい場合などには
非常に有効です。

メニューバーに「アドイン」タブが表示され
そしてタブ内にオリジナルのマクロ実行メニューが表示されるようになります。
マクロ実行メニューをクリックするだけであらかじめ指定しておいた
マクロが実行される仕組みです。

サンプルコード


↓↓「ThisWorkBook」の「Open」に記述

Private Sub Workbook_Open()
    Call AddMenu
End Sub

↓↓標準モジュール等に記述
Sub AddMenu()
    
    Dim NewM As Variant, NewC As Variant
    
    ''新しいメニューを追加する
    Set NewM = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup)
    NewM.Caption = "オリジナル(&C)"
    
    ''オリジナルコマンドを追加する
    Set NewC = NewM.Controls.Add
    With NewC
        .Caption = "[処理名を記述](&U)"
        .OnAction = "[処理のプロシージャ名を記述]"
        .BeginGroup = False
    End With

End Sub

 Sub Auto_Close()
 
    On Error Resume Next
    Application.CommandBars("Worksheet Menu Bar").Controls("オリジナル(&C)").Delete

End Sub

解説

最後の「Auto_Close」は記述することを強くお勧めします。
記述しないと、対象ファイルを開くたびにメニューバーに
追加されていってしまいます。

「Auto_Close」によって追加したオリジナルのメニューバーを
Excelブックを閉じる際に消してくれます。
そうすることで1回開く→閉じる→きちんとメニューバーも元通りとなります。

また、コマンドは複数追加できますので、
自分が使いたいように編成して
よりExcelを使い勝手のいいものにカスタマイズしましょう!

また今後もExcelやVBAについてお役立ち情報など
ご紹介していきたいと思います!!

以上、「【Excel VBA】メニューバーにマクロ実行を追加する」でした。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする