Excel VBA(マクロ)で図形(Shape)を削除する方法/Deleteメソッドの使い方

IT

他のオブジェクト同様、図形に対してもDeleteメソッドで削除が可能です。
ShapesコレクションはDeleteをサポートしていないので、ShapeRangeコレクションまたはShapeオブジェクトから操作します。

スポンサーリンク

VBAで図形を削除

全ての図形を削除

図形を削除
Shapeオブジェクト(またはShapeRangeコレクション).Delete
vba shapes delete1
消すための図形を用意しておきます。
' vba
ActiveSheet.Shapes.SelectAll
Selection.ShapeRange.Delete
ShapesコレクションにはDeleteメソッドがありません。
従って一度選択しておき、ShapeRangeコレクションを選択範囲(=すべての図形)から取得してからDeleteメソッドを実行します。
vba shapes delete2
現在のシートの図形がすべて削除されました。

単一の図形を削除

' vba
ActiveSheet.Shapes(1).Delete
Shapesコレクションから引数で指定したShapeオブジェクトからは、Deleteメソッドを直接実行できます。
vba shapes delete3
実行すると、指定した図形が削除されることが確認できます。

複数の図形を削除

' vba
ActiveSheet.Shapes.Range(Array(1, 2)).Delete
複数図形の場合は、Range(Array())の中で消したい図形を,で区切って指定し、ShapeRangeコレクションを取得してからDeleteします。
vba shapes delete4
実行結果です。
Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。 図形作成の基礎...
Excel(エクセル):削除、クリア
Excel関連削除/クリア系の処理、操作まとめです。操作で言えば、選択した状態でDeleteを押せば大体消せるはずです。また文字入力中は、カーソルの位置からBackSpaceを押せば、左に向かって文字を削除していくことが可能です。 セルで...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント