Shapeを使って線を引く

 

Sub test()

    ' Shapeを使って線を引く

 

    Dim rngStart As Range, rngEnd As Range
    Dim BX As Single, BY As Single, EX As Single, EY As Single
    
    ' 線(shape)配置基準セル
    Set rngStart = Range("B5")
    Set rngEnd = Range("F5")
    
    ' セルのLeft、Top、Widthプロパティを利用して位置特定
    BX = rngStart.Left
    BY = rngStart.Top
    EX = rngEnd.Left + rngEnd.Width
    EY = rngEnd.Top
    
    ' 直線
    ActiveSheet.Shapes.AddLine BX, BY + 10, EX, EY +10

End Sub

 

 

 

Sub test2()

    ' Shapeを使って矢印付き線を引く

 

    Dim rngStart As Range, rngEnd As Range
    Dim BX As Single, BY As Single, EX As Single, EY As Single
    
    ' 線(shape)配置基準セル
    Set rngStart = Range("B5")
    Set rngEnd = Range("F6")
    
    ' セルのLeft、Top、Widthプロパティを利用して位置特定
    BX = rngStart.Left
    BY = rngStart.Top
    EX = rngEnd.Left + rngEnd.Width
    EY = rngEnd.Top
    
    ' 矢印つき線(赤色・太さ1.5ポイント)
    With ActiveSheet.Shapes.AddLine(BX, BY + 20, EX, EY + 20).Line
        .ForeColor.RGB = vbRed
        .Weight = 1.5
        .EndArrowheadStyle = msoArrowheadTriangle
    End With

End Sub

 

 

 

実行結果

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 

 

参考記事