教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAで罫線を引く方法

構文

構文は以下の通りです。

Range("セル範囲").Borders(罫線の場所).LineStyle = 線の種類

解説

Range("セル範囲")は、罫線を引きたいセル範囲を指定します。例えば、Range("A1:B2")はA1からB2までの範囲を意味します。Borders(罫線の場所)は、罫線を引く場所を指定します。例えば、xlEdgeBottomはセルの下に罫線を引きます。LineStyle = 線の種類は、罫線の種類を指定します。例えば、xlContinuousは実線、xlDashは破線を意味します。

【罫線の場所】

定数 内容
xlEdgeBottom セルの下側に罫線を引く
xlEdgeTop セルの上側に罫線を引く
xlEdgeLeft セルの左側に罫線を引く
xlEdgeRight セルの右側に罫線を引く
xlInsideHorizontal 選択したセル範囲の内側の水平線に罫線を引く(行の間に引かれる罫線)
xlInsideVertical 選択したセル範囲の内側の垂直線に罫線を引く(列の間に引かれる罫線)
xlDiagonalDown セル内の左上から右下に向かって斜めに罫線を引く
xlDiagonalUp セル内の左下から右上に向かって斜めに罫線を引く

【線の種類】

定数 内容
xlContinuous 実線
xlDash 破線
xlDot 点線
xlDashDot 一つの破線の後に一点の点線
xlDashDotDot 一つの破線の後に二つの点線
xlDouble 二重線
xlSlantDashDot 斜め破線
xlNone 線なし

プログラミング例

具体的なプログラミング例を紹介します。

Sub 罫線スタイルの例()
    Dim セル範囲 As Range
    Set セル範囲 = Range("A1:C3")
    ' 上に実線の罫線を引く
    セル範囲.Borders(xlEdgeTop).LineStyle = xlContinuous
    ' 下に破線の罫線を引く
    セル範囲.Borders(xlEdgeBottom).LineStyle = xlDash
    ' 左に点線の罫線を引く
    セル範囲.Borders(xlEdgeLeft).LineStyle = xlDot
    ' 右に二重線の罫線を引く
    セル範囲.Borders(xlEdgeRight).LineStyle = xlDouble
End Sub

上記のプログラムの内容は、以下の通りです。
①上に実線の罫線を引く
セル範囲の上側に実線の罫線を引きます。標準的なスタイルで、視覚的に強調したい場合に使用します。
②下に破線の罫線を引く
セル範囲の下側に破線の罫線を引きます。通常の実線よりも柔らかい印象を与えたい場合に便利です。
③左に点線の罫線を引く
セル範囲の左側に点線の罫線を引きます。軽い区切りをつけたい場合に使用されます。
④右に二重線の罫線を引く
セル範囲の右側に二重線の罫線を引きます。より強調したい場合や、重要な区切りを示したい場合に適しています。

まとめ

セル範囲と罫線を引く場所を指定し、その後罫線の種類を決めます。罫線を引くには、Bordersを使い、具体的な罫線の場所と種類を設定します。