関数・メソッド

図形(オートシェイプ)を作成する【Shapes.AddShapeメソッド】【ExcelVBA】

Shapes.AddShapeメソッド

VBAで図形(オートシェイプ)を作成するときは Shapes.AddShapeメソッド を使います。

構文
Object.AddShape (Type, Left, Top, Width, Height)

Object Shapesオブジェクトを表す変数です。
Type 図形の種類を MsoAutoShapeType を使って指定します。
Left ワークシートの左上隅を基準に、図形の境界ボックスの左上隅の位置を左からポイント単位で指定します。
Top 図形の境界ボックスの左上隅の位置を、上からポイント単位で指定します。
Width 図形の境界ボックスのを、ポイント単位で指定します。
Height 図形の境界ボックスの高さを、ポイント単位で指定します。
MsoAutoShapeType 説明
msoShapeRectangle 1 四角形
msoShapeDiamond 4 ひし形
msoShapeIsoscelesTriangle 7 二等辺三角形
msoShapeOval 9 楕円
msoShape5pointStar 92

※図形の種類は他にも多数存在するので、コチラにまとめてあります。

 

図形を作成するサンプルコード

Public Sub Sample()

  '四角形
  ActiveSheet.Shapes.AddShape(msoShapeRectangle, 30, 30, 100, 50).Select
  'ひし形
  ActiveSheet.Shapes.AddShape(msoShapeDiamond, 30, 100, 100, 50).Select
  '楕円
  ActiveSheet.Shapes.AddShape(msoShapeOval, 30, 170, 100, 100).Select

End Sub

 

注意点

  • 図形はセルの幅、高さに影響されるので、図形作成後にセルに変更を加える場合は注意が必要です。

 

 

関連記事

コメント