Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAでグループ化されている図形・オブジェクトを選択する

Excel VBAでグループ化されている図形・オブジェクトを選択する

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2411(ビルド18217.20000クイック実行)ベータチャネル

「excel vba グループ化 図形 選択」
「エクセル マクロ グループ化した オブジェクト 選択」
といった検索が、このサイト『インストラクターのネタ帳』で行われたことに気づきました。

Excel VBAで、グループ化されている図形・オブジェクトを選択するには、どのようなコードを書けばいいのかを調べていらしたのでしょうか。

グループ化されている図形を選択するサンプルマクロ

以下のマクロを実行すると、アクティブシート上に存在するグループ化図形が選択されます。

Sub グループ化されている図形を選択する()
 Range("A1").Select
 
 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoGroup Then
   shp.Select Replace:=False
  End If
 Next
End Sub

サンプルマクロで行っている処理

アクティブシート上にある全図形に対してFor Each~Nextループを回して、

 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes

Shape.TypeプロパティがmsoGroupだったときに、Shape.Selectメソッドの引数ReplaceにFalseを指定して選択を行っています。

  If shp.Type = msoGroup Then
   shp.Select Replace:=False

選択されている図形がグループ化されているかどうかを判定するには少々面倒ですが、For Each~Nextループ内で順番に調べるのであれば、上記のようなコードで済みます。

グループ化されていない図形が選択された状態で以下の処理に入ると、

 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoGroup Then
   shp.Select Replace:=False

そのグループ化されていない図形も含んで、グループ化された図形が選択されます。

この状態を回避するために事前に以下の処理を入れています。

 Range("A1").Select
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAでグループ化されている図形・オブジェクトを選択する

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


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

.