マクロボタンを削除する
不要になったマクロボタンを削除する方法を紹介します。
作成したマクロボタンの削除
使ってないボタンを削除したい
作成したマクロボタンを削除する場合に、手動で削除する一般的な方法と、VBEで作成したマクロで削除する方法の紹介です。
Excelのシート上に作成できるボタンにはフォームコントロールのボタンと
ActiveXコントロールのボタンの2種類あります。それぞれのボタンに合わせた削除方法を紹介しましょう。
まず、シート上のマクロボタンを全部消したい場合、次にマクロが登録されていないボタンを削除したい場合。
特定のボタンを名前で判別して削除する場合の3通りを考えます。
Excelバージョン:
(サンプルファイルは、こちらから 2010マクロ講座28回サンプルデータ)
フォームコントロールのボタンの削除(手動)
フォームコントロールのボタンの場合は、
ボタンの右クリックして選択状態にしてから切り取りを選択。またはDelキー。


シート上のマクロボタンを全部削除するマクロ
フォームコントロールのボタンを削除する場合は、
次のシンプルなコードになります。

Sub ボタン全部削除() ActiveSheet.Buttons.Delete End Sub実行すると下図のようにスッキリと消えてしまいます。

マクロが登録されていないボタンを削除
次のコード例では、マクロが登録されていないフォームボタンを削除します。
フォームコントロールのボタンでは、OnActionプロパティにコマンドが実行された時のプロシージャ(マクロ)を設定するので、
OnAction = ""の場合は、削除という命令が使えます。

Sub 登録のないマクロボタン削除() Dim Btn As Object For Each Btn In ActiveSheet.Buttons If Btn.OnAction = "" Then Btn.Delete Next Btn End Subマクロを登録してないボタンが削除されます。

ボタンの名前はName プロパティで設定します。
ボタンの名前で判定して削除するには、If Btn.OnAction を If Btn.Name に変更すればいいです。
Sub マクロボタンの名前で削除() Dim Btn As Object For Each Btn In ActiveSheet.Buttons If Btn.Name = "ボタン前" Then Btn.Delete Next Btn End Sub