作成したコマンドボタンの削除
作成したマクロボタンを削除する場合に、手動で削除する一般的な方法と、VBEで作成したマクロで削除する方法の紹介です。
このページでは、ActiveXコントロールのボタンの削除の削除について解説しています。
シート上のコマンドボタンを全部消したい場合、名前で判定して削除したい場合を考えます。
Excelバージョン:
(サンプルファイルは、こちらから 2010マクロ講座28回サンプルデータ)

Sub コマンドボタン全部削除する()
ActiveSheet.OLEObjects.Delete
End Subマクロを実行すると、
Sub コマンドbtn削除()
Dim obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
If obj.progID = "Forms.CommandButton.1" Then obj.Delete
Next obj
End Sub実行すると、OLEObjectsの中からForms.CommandButton.1だけを削除します。

Sub コマンドボタンを名前で削除2()
Dim コントロール As Object 'または Variant
For Each コントロール In ActiveSheet.Shapes 'OLEObjects でもOK
If コントロール.Name <> "CommandButton1" And コントロール.Name <> "CommandButton2" Then
ActiveSheet.Shapes(コントロール.Name).Delete
End If
Next
End Sub実行すると、CommandButton1とCommandButton2以外のボタンだけを削除します。
