OfficeType

VBA~直線を引こう~Excel

VBAで直線を引きたい場合はShapes.AddConnectorメソッドを設定します。AddConnector(線の種類, 始点の横位置, 始点の縦位置, 終点の横位置, 終点の縦位置)で設定できます。直線の場合は線の種類はmsoConnectorStraightになります。

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

Sub test1()

ActiveSheet.Shapes.AddConnector msoConnectorStraight, 20, 20, 100, 100

End Sub

image-01

セルを基準に直線を引く

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

Sub test2()

ActiveSheet.Shapes.AddConnector msoConnectorStraight, Range("A1").Left, Range("A1").Top, Range("C3").Left,
Range("C3").Top

End Sub

image-02

指定したシートに直線を引く

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

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

Sub test3()

Worksheets("Sheet2").Shapes.AddConnector msoConnectorStraight, 20, 20, 100, 100

End Sub

image-03

ブックを指定して直線を引く

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

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

Sub test4()

Workbooks("Book1.xlsx").Worksheets("Sheet1").Shapes.AddConnector msoConnectorStraight, 20, 20, 100, 100

End Sub