OfficeType

VBA~矢印を引こう~Excel

VBAで矢印を引きたい場合はLineFormat.EndArrowheadStyleプロパティを設定します。

矢印の種類は以下の通りです

名前説明
msoArrowheadDiamond5ダイヤモンド
msoArrowheadNone1矢印なし
msoArrowheadOpen3開く
msoArrowheadOval6楕円
msoArrowheadStealth4ステルス
msoArrowheadTriangle2三角

下のコードを実行すると矢印が引かれます。

Sub test1()

ActiveSheet.Shapes.AddLine(20, 20, 100, 100).Line.EndArrowheadStyle = msoArrowheadStealth

End Sub

image-01

セルを基準に矢印を引く

下のコードを実行するとセルA1の左上からセルC3の左上に矢印が引かれます。

Sub test2()

ActiveSheet.Shapes.AddLine(Range("A1").Left, Range("A1").Top, Range("C3").Left, Range("C3").Top).Line.EndArrowheadStyle
= msoArrowheadStealth

End Sub

image-02

指定したシートに矢印を引く

シートを指定するときはWorksheets("シート名")で指定できます。

下のコードを実行するとSheet2に矢印が引かれます。

Sub test3()

Worksheets("Sheet2").Shapes.AddLine(20, 20, 100, 100).Line.EndArrowheadStyle = msoArrowheadStealth

End Sub

image-03

ブックを指定して矢印を引く

ブックを指定するときはWorkbooks("ブック名")で指定できます。

Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1に矢印が引かれます。

Sub test4()

Workbooks("Book1.xlsx").Worksheets("Sheet1").Shapes.AddLine(20, 20, 100, 100).Line.EndArrowheadStyle =
msoArrowheadStealth

End Sub