サイトについて      連絡先   検索

VBA セルの罫線について

はじめに

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

Border オブジェクトや Borders コレクションから罫線を操作できます。

  • 目次
    • 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) ' セル「A1」の上側の罫線を取得
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

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

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

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


Range("B2:D4").Borders.LineStyle = xlContinuous ' 罫線を引く
5
  • 目次
    • Border オブジェクト
    • Borders コレクション