Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » 全Rectangleを削除する

対象:Excel2010, Excel2013, Windows版Excel2016

「excelマクロ rectangle まとめて消す」
という検索キーワードに気付きました。

ワークシート上の四角形(rectangle)を、まとめて削除するExcelマクロを探していた方による検索です。

For Each~Nextループを回して全Rectangleを削除するサンプルマクロ

まずは基本的なSubプロシージャをご紹介します。

Sub 全Rectangleを削除する_For_Each()
 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.AutoShapeType = msoShapeRectangle Then
   shp.Delete
  End If
 Next
End Sub

上記のSubプロシージャを実行すると、アクティブシート上の全四角形が削除されます。

アクティブシート上の全図形に対してFor Each~Nextループを回して、
  For Each shp In ActiveSheet.Shapes

ShapeオブジェクトのAutoShapeTypeプロパティを調べて、四角形(msoShapeRectangle )だったときに、
   If shp.AutoShapeType = msoShapeRectangle Then

ShapeオブジェクトのDeleteメソッドで削除しています。
    shp.Delete

Rectanglesを使って全Rectangleを削除するサンプルマクロ

レガシーオブジェクトの一種であるRectanglesコレクションオブジェクトを使った、以下のような裏技的なSubプロシージャでも、アクティブシート上の全Rectangleを削除できます。

Sub 全Rectangleを削除する_Rectangles()
 ActiveSheet.Rectangles.Delete
End Sub

オブジェクトブラウザー上では非表示となっている、RectanglesコレクションオブジェクトのDeleteメソッドを使って一括削除を行っています。

ActiveSheet.Rectangles.Select」というコードで、アクティブシート上の全Rectangleを選択できるのと考え方は同じです。

最終更新日時:2022-10-01 15:38

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » 全Rectangleを削除する

「DrawingObjects」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.