プロが教える店舗&オフィスのセキュリティ対策術

Excelのマクロでコマンドボタンを選択する方法

マクロの記述でオブジェクトのコマンドボタンのみを選択するにはどうしたらいいでしょうか?
別のマクロが登録されているボタンを削除するのが目的です。
オブジェクトは他にもテキストや直線などがあり、コマンドボタンのみの特定の仕方がわかりません。
シートも複数あり、コマンドボタンもまちまちな名前がついています。

WinXP Excel2000

A 回答 (2件)

有無を言わせず削除でよいのですか?



↓参考になると思います。
エクセルのチェックボックスとかについて
http://oshiete.goo.ne.jp/qa/5850376.html

フォームのコマンドボタンは
ActiveSheet.Buttons.Delete

コントロールツールボックスのコマンドボタンは
Nameプロパティを使って
Dim btn As OLEObject
For Each btn In ActiveSheet.OLEObjects
If btn.Name Like "CommandButton*" Then
btn.Delete
End If
Next btn

あるいはprogIDを使って
Dim btn As OLEObject
For Each btn In ActiveSheet.OLEObjects
If btn.progID = "Forms.CommandButton.1" Then
btn.Delete
End If
Next btn

条件があるなら追加してください。
    • good
    • 0
この回答へのお礼

フォームのコマンドボタンでした。
すぐに消すことが出来、ありがとうございました。

お礼日時:2010/05/06 15:47

実は削除したいのじゃなくて無効にしたいのなら、マクロの中で


ボタン名.Visible = False
などと書きます。
ボタン名は、デザインモードにして、そのボタンを選択し
プロパティを見ればわかります。

この回答への補足

>実は削除したいのじゃなくて無効にしたい
いいえ、削除です。

>ボタン名は、デザインモードにして、
ボタンは多数あり、そのブックごとに違うので特定は出来ません。

補足日時:2010/05/06 10:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!