ray88’s diary

お仕事で困ったとき用の自分用の覚書

Excel VBA Shapesコレクションで罫線を引く

オブジェクト.Shapes.AddLine( BeginX, BeginY, EndX, EndY )

・オブジェクト:ワークシートのオブジェクトを指定
BeginX : 始点X座標を指定
BeginY : 始点Y座標を指定
EndY :終点X座標を指定
EndY : 終点Y座標を指定

ActiveSheet.Shapes.AddLine(200, 50, 500, 50)

■線の太さの設定
オブジェクト.Line.Weight=設定値
オブジェクト:線のShpesオブジェクトを指定
設定値:線の太さをポイント単位の数値で指定

    Dim shp As Shape
    Set shp = ActiveSheet.Shapes.AddLine(200, 50, 500, 50)
    shp.Line.Weight = 3

■線の色の設定
オブジェクト.Line.ForeColor.RGB=
オブジェクト:線のShapesオブジェクトを指定
:RGB値 または SchemeColorの番号
VBA RGB関数 - ray88’s diary
VBA SchemeColorプロパティ(ForeColor以下に指定する色の色見本を作成する) - ray88’s diary

Dim shp As Shape
    Set shp = ActiveSheet.Shapes.AddLine(200, 50, 500, 50)
    shp.Line.ForeColor.RGB = RGB(233, 192, 0)

■線のスタイルの設定
オブジェクト.Line.EndQrrowheadStyle=スタイル
オブジェクト:線の書式のオブジェクトを指定
スタイル:スタイルの定数を以下定数より指定
msoArrowheadNone   :矢印なし
msoArrowheadOval   :円形矢印
msoArrowheadDiamond :ひし形矢印
msoArrowheadOpen   :開いた矢印
msoArrowheadStealth  :鋭い矢印
msoArrowheadTriangle  :三角矢印

Dim shp As Shape
    Set shp = ActiveSheet.Shapes.AddLine(200, 50, 500, 50)
    shp.Line.EndArrowheadStyle = msoArrowheadTriangle