更新日:、 作成日:
VBA セルの罫線について
はじめに
Excel VBA マクロのセルの罫線を紹介します。
Border オブジェクトから、罫線の色や種類、太さなどを取得または設定できます。
Borders コレクションから、セルの罫線 (Border) を取得できます。
Borders(xlEdgeTop) から、上側の罫線 (Border) を取得できます。
罫線を取得するには「セルの罫線を取得する」をご覧ください。
罫線を引くには「セルに罫線を引く」をご覧ください。
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 | 各セルの右上がりの罫線 |
罫線は次の場所を示しています。
隣接するセルの罫線は同じものです。セル「A1」の下側に罫線を引くと、セル「A2」の上側に罫線が引かれたことになります。
Borders も Border と同じプロパティを持っています。
Borders に対して値を設定するときは、指定した範囲の各セルの上下左右の罫線に対して行われます。
Range("B2:D4").Borders.LineStyle = xlContinuous ' 上下左右に罫線を引く
値を取得するときは、各セルの上下左右の辺の罫線の値が同じであれば、その値を取得します。一つでも違う値があれば Null を取得します。
スポンサーリンク