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

対象:Excel2010, Excel2013, Windows版Excel2016

VBAで全Rectangleを選択する

「マクロ シートにあるrectangleを全て選択」
という検索キーワードでアクセスがありました。

シート上の、全Rectangleを選択するには、Excel VBAでどのようなコードを書けばいいのかを探していらしたのでしょうか。

全Rectangleを選択するサンプルマクロ

「マクロ シートにあるrectangleを全て選択」
と検索なさった方がRectangleをどう理解してらっしゃるのかが不明ですけれど、以下のSubプロシージャを実行するとアクティブシート上のすべてのRectangleを選択できます。
Sub 全Rectangleを選択する()
 ActiveSheet.Rectangles.Select
End Sub

Rectangleの存在しないワークシートがアクティブな状態で実行しても、実行時エラーは発生しません。

サンプルマクロで利用しているオブジェクト式について

ActiveSheetプロパティで、アクティブなシートを表すWorksheetオブジェクトを取得して、
  ActiveSheet.Rectangles.Select

WorksheetオブジェクトのRectanglesメソッドで、
  ActiveSheet.Rectangles.Select
Rectanglesコレクションオブジェクトを取得して、

VBAで全Rectangleを選択する

RectanglesコレクションオブジェクトのSelectメソッドで、選択を行っています。
  ActiveSheet.Rectangles.Select

VBAで全Rectangleを選択する

Rectangleに関連したオブジェクト・プロパティ・メソッドは、オブジェクトブラウザーで右クリックして表示されるショートカットメニューで、「非表示のメンバーを表示」オプションを選択すると表示されます。

For Each~Nextループで全Rectangleを選択するサンプルマクロ

ちなみに非表示となっているRectangle関連のオブジェクト・プロパティ・メソッドを使わない、オーソドックスなSubプロシージャは以下のとおりです。
Sub 全Rectangleを選択する_For_Each()
 Dim shp As Shape
 Range("A1").Select ' Rectangleでない図形が選択されるのを防ぐための処理
 For Each shp In ActiveSheet.Shapes
  If shp.AutoShapeType = msoShapeRectangle Then
   shp.Select Replace:=False
  End If
 Next
End Sub

全図形に対してFor Each~Nextループを回して、
  For Each shp In ActiveSheet.Shapes

ShapeオブジェクトのAutoShapeTypeプロパティを調べています。
   If shp.AutoShapeType = msoShapeRectangle Then

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

[スポンサードリンク]

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

「DrawingObjects」の記事一覧

検索


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

.