メニューを削除する


メニューバーに独自のメニューを追加する」をご覧になった方からメールをいただきました。追加したメニューを削除するにはどうしたらいいんですか?と。なるほど、そりゃそうですね…

メニューの削除は Delete メソッドで行います。次のサンプルは、メニューバーに追加した[新しいメニュー]を削除します。

Sub DelMenu()
    Application.CommandBars("Worksheet Menu Bar").Controls("新しいメニュー").Delete
End Sub

もし、メニューを追加するとき

Dim NewM As Variant, NewC As Variant
''新しいメニューを追加する
Set NewM = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup)
    NewM.Caption = "新しいメニュー(&C)"

のようにショートカット キーを付けていたら、削除するときも

Sub DelMenu()
    Application.CommandBars("Worksheet Menu Bar").Controls("新しいメニュー(&C)").Delete
End Sub

または

Sub DelMenu()
    Application.CommandBars("Worksheet Menu Bar").Controls("新しいメニュー(C)").Delete
End Sub

としなければなりません。

あるいは、開発途中でとりあえずメニューを削除したい場合は、Excel の [ツール] - [ユーザー設定] を実行して [ユーザー設定] ダイアログ ボックスを表示し、その状態で削除したいメニューをワークシート上にドラッグします。