VBA セルの罫線について

はじめに

Excel VBA マクロのセルの罫線を紹介します。

Border オブジェクトから、罫線の色や種類、太さなどを取得または設定できます。

Borders コレクションから、セルの罫線 (Border) を取得できます。

Borders(xlEdgeTop) から、上側の罫線 (Border) を取得できます。

罫線を取得するには「セルの罫線を取得する」をご覧ください。
罫線を引くには「セルに罫線を引く」をご覧ください。
  • 目次
    • Border オブジェクト
    • Borders コレクション

Border オブジェクト

セルの上側や下側といった一辺の罫線を操作するには Border オブジェクトを使用します。

Border から次の値を取得または設定できます。

プロパティ名 説明
Color罫線の色
ColorIndex罫線の色番号
LineStyle罫線の種類
Weight罫線の太さ

上側や下側の Border は Borders コレクションから取得して操作します。

Borders コレクション

Borders からセルの全ての辺の罫線を取得できます。

上側の罫線を取得するには Borders(xlEdgeTop) を入力します。

Dim b As Border
Set b = Range("B2").Borders(xlEdgeTop) ' セル「B2」の上側の罫線を取得
Debug.Print(b.Color)      ' 色
Debug.Print(b.ColorIndex) ' 色番号
Debug.Print(b.LineStyle)  ' 種類
Debug.Print(b.Weight)     ' 太さ

取得したい罫線を指定するには次の値を指定します。組み合わせて使用することはできません。

名前 説明
xlEdgeTop上側の罫線
xlEdgeBottom下側の罫線
xlEdgeLeft左端の罫線
xlEdgeRight右端の罫線
xlInsideHorizontalすべての水平罫線
(2 行以上のセルの範囲を指定している必要があります)
xlInsideVerticalすべての垂直罫線
(2 列以上のセルの範囲を指定している必要があります)
xlDiagonalDown各セルの右下がりの罫線
xlDiagonalUp各セルの右上がりの罫線

罫線は次の場所を示しています。

1
2
3
4

隣接するセルの罫線は同じものです。セル「A1」の下側に罫線を引くと、セル「A2」の上側に罫線が引かれたことになります。

Borders も Border と同じプロパティを持っています。

Borders に対して値を設定するときは、指定した範囲の各セルの上下左右の罫線に対して行われます。

Range("B2:D4").Borders.LineStyle = xlContinuous ' 上下左右に罫線を引く
5

値を取得するときは、各セルの上下左右の辺の罫線の値が同じであれば、その値を取得します。一つでも違う値があれば Null を取得します。