Excel VBAで罫線を引く:Borders,BorderAround

セルの罫線を、VBAで設定する方法を紹介します。

罫線を設定する方法

罫線の設定方法は2種類あり、それぞれ使い方と結果が異なります。

Borders (). 〇〇〇プロパティで設定する

構文は下記のとおりです。

'セルB2~C4に罫線設定(点線,極細,赤)/Borders.XXプロパティ使用
With Range(Cells(2, 2), Cells(4, 3)).Borders
    .LineStyle = xlDot
    .Weight = xlHairline
    .Color = vbRed
End With

'セルE2~F4に罫線設定(連続線,太さ設定なし,赤)/BouderAroundメソッド使用
Range(Cells(2, 5), Cells(4, 6)).BorderAround LineStyle:=xlContinuous, Color:=vbRed 

[実行結果]罫線1

左の点線がBorders、右がBorderAroundの結果です。

使用例2 Excel方眼紙

いわゆる「Excel方眼紙」を、VBAで作成してみます。

Sub GraphPaper()

    Dim i As Long, L As Long    'Lは縦/横のマス目数
    Dim Target As Range         '罫線処理範囲

    L = 30          '縦/横マス目
    Set Target = Range(Cells(1, 1), Cells(L, L)) 
    With Target
        .ColumnWidth = 2            '列幅
        .Borders.LineStyle = xlDot  '点線

        For i = 5 To L Step 5           '5行/5列毎に下記を実行
            .Rows(i).Borders(xlEdgeBottom).LineStyle = xlContinuous   '行下罫線=実線
            .Columns(i).Borders(xlEdgeRight).LineStyle = xlContinuous '列右側=実線
        Next i
        Target.BorderAround Weight:=xlMedium  '外周
    End With

End Sub

[実行結果]罫線2