_基本ExcelVBA

図形(オートシェイプ)のグループ化と解除方法【ExcelVBA】

図形のグループ化

図形をグループ化するには、Shapes.Range でグループ化したい図形をまとめて指定し、
Groupメソッド を使用してグループ化します。

使い方
図形をまとめて指定する際は、Arrayを使用し…

ActiveSheet.Shapes.Range(Array(“図形1”, “図形2”)).Group

このように記述します。

 

グループ化の解除

図形のグループ化を解きたい場合は、Ungroupメソッド を使用します。

使い方
Shapeオブジェクト.Ungroup

グループ名を指定してグループを解除する場合は…

Activesheet.Shapes(“グループ名”).Ungroup

となります。

 

グループ化した図形の色を変えてグループを解除するサンプルコード

Public Sub Sample()
  Dim grp As Shape
 
 '3つの図形を作成
  ActiveSheet.Shapes.AddShape(msoShapeOval, 50, 50, 80, 80).Name = "丸"
  ActiveSheet.Shapes.AddShape(msoShapeIsoscelesTriangle, 160, 50, 80, 80).Name = "三角"
  ActiveSheet.Shapes.AddShape(msoShapeRectangle, 270, 50, 80, 80).Name = "四角"
 
'■3つの図形をグループ化
  Set grp = ActiveSheet.Shapes.Range(Array("丸", "三角", "四角")).Group

 'グループ内の図形を赤色に塗りつぶし
  grp.Fill.ForeColor.RGB = RGB(255, 0, 0)
  
'■グループ化を解除
  grp.Ungroup

End Sub

 

関連記事

  • Ungroupメソッド はグループが存在していなければエラーになります。

 

関連記事

コメント

タイトルとURLをコピーしました