VBA~矢印を引こう~Excel
VBAで矢印を引きたい場合はLineFormat.EndArrowheadStyleプロパティを設定します。
矢印の種類は以下の通りです
名前 | 値 | 説明 |
---|---|---|
msoArrowheadDiamond | 5 | ダイヤモンド |
msoArrowheadNone | 1 | 矢印なし |
msoArrowheadOpen | 3 | 開く |
msoArrowheadOval | 6 | 楕円 |
msoArrowheadStealth | 4 | ステルス |
msoArrowheadTriangle | 2 | 三角 |
下のコードを実行すると矢印が引かれます。
Sub test1() ActiveSheet.Shapes.AddLine(20, 20, 100, 100).Line.EndArrowheadStyle = msoArrowheadStealth End Sub
セルを基準に矢印を引く
下のコードを実行するとセルA1の左上からセルC3の左上に矢印が引かれます。
Sub test2() ActiveSheet.Shapes.AddLine(Range("A1").Left, Range("A1").Top, Range("C3").Left, Range("C3").Top).Line.EndArrowheadStyle = msoArrowheadStealth End Sub
指定したシートに矢印を引く
シートを指定するときはWorksheets("シート名")で指定できます。
下のコードを実行するとSheet2に矢印が引かれます。
Sub test3() Worksheets("Sheet2").Shapes.AddLine(20, 20, 100, 100).Line.EndArrowheadStyle = msoArrowheadStealth End Sub
ブックを指定して矢印を引く
ブックを指定するときはWorkbooks("ブック名")で指定できます。
Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1に矢印が引かれます。
Sub test4() Workbooks("Book1.xlsx").Worksheets("Sheet1").Shapes.AddLine(20, 20, 100, 100).Line.EndArrowheadStyle = msoArrowheadStealth End Sub