【Excel VBA】セルに罫線を設定する方法

Excel VBA 罫線の設定方法

Excel VBAでセルに罫線(枠線)を設定する方法を説明します。

罫線を引くためには3つのプロパティを設定すればOKです。3つのプロパティは、場所:Borders、罫線の種類:LineStyle、太さ:Weightになります。

罫線の場所を指定する(Bordersプロパティ)

Bordersプロパティは、Rangeオブジェクトでセルの範囲を設定することで使うことができます。罫線の場所は8つ指定することが可能です。

Range(セル範囲を指定).Borders(場所の設定値)

設定値設定値の内容
xlEdgeTopセル範囲の上端の罫線
xlEdgeBottomセル範囲の下端の罫線
xlEdgeLeftセル範囲の左端の罫線
xlEdgeRightセル範囲の右端の罫線
xlInsideHorizontalセル範囲の内側の内側の横罫線
xlInsideVerticalセル範囲の内側の内側の縦罫線
xlDiagonalDownセル範囲の内側の右下がりの罫線
xlDiagonalUpセル範囲の内側の右上がりの罫線

言葉だと分かりにくいので、図を描くと以下になります。

罫線の種類を指定する(LineStyleプロパティ)

LineStyleプロパティは、Bordersプロパティを設定することで使用することができます。罫線の種類は全部で7種類あります。

Range(セル範囲を指定).Borders(場所の設定値).LineStyle = 種類の設定値

設定値設定値の内容罫線の種類
xlContinuous実線
xlDash破線
xlDashDot一点鎖線
xlDashDotDot二点鎖線
xlDot点線
xlDouble二重線
xlSlantDashDot斜破線
xlLineStyleNone線なし 

罫線の太さを指定する(Weightプロパティ)

Weightプロパティは、Bordersプロパティを設定することで使用することができます。線の太さは4つ指定することが可能です。

Range(セル範囲を指定).Borders(場所の設定値).Weight = 太さの設定値

設定値設定値の内容罫線の太さ
xlHairline細線
xlThin中細の線
xlMedium中太の線
xlThick太線

罫線を設定するサンプルマクロ

罫線の引き方がわかったところで、マクロですぐに使えるサンプルを作成しました。

全て実線

指定した範囲のセルを全て実線で囲むサンプルです。もっともベーシックな罫線設定になります。

なお、Bordersプロパティを設定しない場合、指定した範囲全てに罫線が設定されます。

copy

Sub Sample1()

    With Range("B2:D5").Borders
        .LineStyle = xlContinuous
    End With
    
End Sub

外側と内側の縦は実線で横は点線

全て実線と似ていますが、横線が1行目だけ実線で、それ以外は点線に設定するサンプルです。1度全て実線で罫線を引いた後に、1行目以外の内側横線を点線で設定し直しています。ヘッダー部とデータ部を分けたいときに使用します。

copy

Sub Sample2()
    
    With Range("B2:D5").Borders
        .LineStyle = xlContinuous
    End With
    
    With Range("B3:D5").Borders(xlInsideHorizontal)
        .LineStyle = xlDash
    End With

End Sub

横線だけ(上端下端は実線で内側は点線)

縦線をなくし、内側の横線を点線にするサンプルです。外資系の~という書籍でこの罫線の引き方がおすすめされていた気がします。

copy

Sub Sample3()
    
    With Range("B2:D5")
        .Borders(xlEdgeTop).LineStyle = xlContinuous
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
        .Borders(xlInsideHorizontal).LineStyle = xlDash
    End With

End Sub

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です