関数・メソッド

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

Shapes.AddShapeメソッド

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

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

ObjectShapesオブジェクトを表す変数です。
Type図形の種類を MsoAutoShapeType を使って指定します。
Leftワークシートの左上隅を基準に、図形の境界ボックスの左上隅の位置を左からポイント単位で指定します。
Top図形の境界ボックスの左上隅の位置を、上からポイント単位で指定します。
Width図形の境界ボックスのを、ポイント単位で指定します。
Height図形の境界ボックスの高さを、ポイント単位で指定します。
MsoAutoShapeType説明
msoShapeRectangle1四角形
msoShapeDiamond4ひし形
msoShapeIsoscelesTriangle7二等辺三角形
msoShapeOval9楕円
msoShape5pointStar92

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

 

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

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

 

注意点

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

 

 

関連記事

コメント

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