dポイントプレゼントキャンペーン実施中!

いつも大変お世話になっております。

Excelのシート上のボタンを削除したいと考えています。
ボタンはVBAで自動で作成してます。

Sub ButtonCreate()
With ActiveSheet.Buttons.Add(Range("C1").Left, _
Range("C1").Top, _
Range("C1").Width, _
Range("C1").Height)
.Characters.Text = "起動"
.Characters.Font.Size = 8
End With
End Sub

シート上にはグラフ等もあるため、
まとめてオブジェクトを消すという方法は取れません。
ボタンのみを消したいと思っています。


Worksheets("テスト").Activate
ActiveSheet.Buttons.Delete

と削除する方法を取っていますが、
他に方法はありますか?

BOOKを指定し、全シート上の
ボタンを削除する方法があれば、知りたいです。

回答よろしくお願い致します。

A 回答 (2件)

全シートのボタン削除はループを回して削除するだけです。



Sub test()
Dim W As Worksheet
For Each W In Worksheets
W.Buttons.Delete
Next W
End Sub
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
問題なく削除することができました!

お礼日時:2013/12/12 13:48

ちょっと検索したら


http://www.excel-excel.com/tips/vba_443.html
などがありました。
>シート上にはグラフ等もあるため、
>まとめてオブジェクトを消すという方法は取れません。
なので

Dim tobj As Shape
'ワークシート(Sheet2)の全オブジェクト数をループ
For Each tobj In Worksheets("Sheet1").Shapes
If tobj.Name Like "Button*" Then
'オブジェクトを削除
  tobj.Delete
End If
Next

こんな感じでは如何でしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
問題なく削除することができました!

お礼日時:2013/12/12 13:49

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A