「マクロ シートにあるrectangleを全て選択」
という検索キーワードでアクセスがありました。
シート上の、全Rectangleを選択するには、Excel VBAでどのようなコードを書けばいいのかを探していらしたのでしょうか。
全Rectangleを選択するサンプルマクロ
「マクロ シートにあるrectangleを全て選択」と検索なさった方がRectangleをどう理解してらっしゃるのかが不明ですけれど、以下のSubプロシージャを実行するとアクティブシート上のすべてのRectangleを選択できます。
ActiveSheet.Rectangles.Select
End Sub
Rectangleの存在しないワークシートがアクティブな状態で実行しても、実行時エラーは発生しません。
サンプルマクロで利用しているオブジェクト式について
ActiveSheetプロパティで、アクティブなシートを表すWorksheetオブジェクトを取得して、
ActiveSheet.Rectangles.Select
WorksheetオブジェクトのRectanglesメソッドで、
ActiveSheet.Rectangles.Select
Rectanglesコレクションオブジェクトを取得して、
RectanglesコレクションオブジェクトのSelectメソッドで、選択を行っています。
ActiveSheet.Rectangles.Select
Rectangleに関連したオブジェクト・プロパティ・メソッドは、オブジェクトブラウザーで右クリックして表示されるショートカットメニューで、「非表示のメンバーを表示」オプションを選択すると表示されます。
For Each~Nextループで全Rectangleを選択するサンプルマクロ
ちなみに非表示となっているRectangle関連のオブジェクト・プロパティ・メソッドを使わない、オーソドックスなSubプロシージャは以下のとおりです。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を選択する