Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9460 / 13644 ツリー ←次へ | 前へ→

【27197】コントロールの削除 05/8/1(月) 15:34 質問[未読]
【27199】Re:コントロールの削除 Jaka 05/8/1(月) 15:49 回答[未読]
【27200】Re:コントロールの削除 05/8/1(月) 16:11 お礼[未読]
【27211】Re:コントロールの削除 bykin 05/8/1(月) 22:41 回答[未読]

【27197】コントロールの削除
質問   E-MAIL  - 05/8/1(月) 15:34 -

引用なし
パスワード
   ワークシートについているマクロボタンを削除したいのですが、
S.Shapes.Delete
では消えてくれません。ワークシート上についているすべてのボタンを削除したいのですがどのようにしたらよろしいでしょうか??
よろしくお願いします。

【27199】Re:コントロールの削除
回答  Jaka  - 05/8/1(月) 15:49 -

引用なし
パスワード
   こんにちは。
ボタンだけなんですか?
フォームの方は、判断が難しいと思います。

参考
[#22449]
[#22469]
ここの上のスレッドも参考になるかも。

【27200】Re:コントロールの削除
お礼   E-MAIL  - 05/8/1(月) 16:11 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
>ボタンだけなんですか?
>フォームの方は、判断が難しいと思います。
>
>参考
>[#22449]
>[#22469]
>ここの上のスレッドも参考になるかも。

こんなかんじでやったら動きました。
ありがとうございます。
Dim shp As Shape
For Each shp In ThisWorkbook.ActiveSheet.Shapes
shp.Delete

【27211】Re:コントロールの削除
回答  bykin  - 05/8/1(月) 22:41 -

引用なし
パスワード
   こんばんわ。解決済みになってるみたいやけど・・・

>For Each shp In ThisWorkbook.ActiveSheet.Shapes
>shp.Delete

↑この書き方は危険でっせ。
その理由は・・・↓これ見ておくれやす。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=26567;id=excel

ボタンも含めて全部の図形を削除してええんやったら、上記スレッドに書いたように

Sub test0()
  ActiveSheet.DrawingObjects.Delete
End Sub

で、ええとは思うけど、ボタンだけ削除するんやったら

(1)フォームツールバーの「ボタン」の場合

Sub test1()
  ActiveSheet.Buttons.Delete
End Sub

(2)コントロールツールボックスツールバーの「コマンドボタン」の場合

Sub test2()
  Dim Obj As OLEObject
  For Each Obj In ActiveSheet.OLEObjects
    If Obj.progID = "Forms.CommandButton.1" Then
      Obj.Delete
    End If
  Next
End Sub

なんて感じになるんとちゃうかな?
(エラー処理は入れてません)

試してみてな。
ほな。

9460 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free