作成したマクロボタンの削除

使ってないボタンを削除したい

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

フォームコントロールのボタンの削除(手動)

フォームコントロールのボタンの場合は、 ボタンの右クリックして選択状態にしてから切り取りを選択。またはDelキー。
マクロボタンを削除マクロ1

シート上のマクロボタンを全部削除するマクロ

フォームコントロールのボタンを削除する場合は、 次のシンプルなコードになります。
Sub ボタン全部削除()
    ActiveSheet.Buttons.Delete
End Sub
実行すると下図のようにスッキリと消えてしまいます。
マクロボタンを削除マクロ3

マクロが登録されていないボタンを削除

次のコード例では、マクロが登録されていないフォームボタンを削除します。 フォームコントロールのボタンでは、OnActionプロパティにコマンドが実行された時のプロシージャ(マクロ)を設定するので、 OnAction = ""の場合は、削除という命令が使えます。
Sub 登録のないマクロボタン削除()
    Dim Btn As Object
    For Each Btn In ActiveSheet.Buttons
        If Btn.OnAction = "" Then Btn.Delete
    Next Btn
End Sub
マクロを登録してないボタンが削除されます。
マクロボタンを削除マクロ5
ボタンの名前は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
スポンサーリンク
スポンサーリンク