• ベストアンサー

Excel VBAで「このシートにこの図形があった場合」

Excelで、VBAを使っています。 あるシートに、名前をつけた特定の図形が「あった場合」 削除させたいのですが(無い場合もある)、 この「あった場合」というのはどうやって指定すれば良いのでしょうか? 調べてみたのですがよくわかりませんでした。 ご存知の方いらしたらよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.1

一応、次のコードでOKです。 が、試せば判りますが、コマンドボタンやピクチャーも sr にセットされます。 Private Sub CommandButton1_Click()   Dim I As Integer   Dim N As Integer   Dim sr As Shapes      Set sr = Worksheets(1).Shapes   N = sr.Count   MsgBox N   For I = 1 To N     MsgBox sr(I).Name     If sr(I).Name = "AutoShape 1" Then       ' sr(I).Delete     End If   Next I End Sub

noname#101292
質問者

補足

ありがとうございます。 実際に使うときはメッセージボックスなどは使わないため 削らせていただきましたが、 いただいたコードをもとに、無事めざすものを作成できました。 なるほど、 For~Nextとはこう使うのですね。 大変勉強になりました。