セル範囲の罫線を表すBordersコレクションオブジェクトを参照します。BordersコレクションオブジェクトはRangeオブジェクトの下位オブジェクトになります。アイテムを指定しない場合には、個々のセルを囲む4本の罫線を参照します。
構文 Object.Borders 取得のみ
設定項目 内容
Object Range, Styleオブジェクト
次のサンプルは、セル範囲B2〜E8の個々のセルを囲む罫線を、全て同じ状態に設定します。
●サンプル1●
Sub BordersSamp1()
With Range("B2:E8").Borders
.LineStyle = xlContinuous '---罫線の種類
.Value = xlContinuous '---罫線の種類
.Weight = xlThick '---罫線の太さ
.Color = RGB(0, 100, 0) '---RGB値で色を指定
.ColorIndex = 10 '---カラーパレットの色で指定
End With
End Sub
個々のアイテムを参照し、より複雑に罫線を引くにはItemプロパティを使用します。Itemプロパティの引数には次の表の定数を使用します。
・BordersコレクションのItemプロパティで使用する定数(XlBordersIndexクラス)
定数 値 内容
xlDiagonalDown 5 単体セルに右下がりの斜線
xlDiagonalUp 6 単体セルに右上がりの斜線
xlEdgeBottom 9 セル範囲の下端の横線
xlEdgeLeft 7 セル範囲の左端の縦線
xlEdgeRight 10 セル範囲の右端の縦線
xlEdgeTop 8 セル範囲の上端の横線
xlInsideHorizontal 12 セル範囲の上下端以外の横線
xlInsideVertical 11 セル範囲の左右端以外の縦線
これを利用し、データの入力されている範囲に、範囲の外周と外周以外で種類の違う罫線を引くコードは、次のようになります。
●サンプル2●
Sub BordersSamp2()
With Range("B2").CurrentRegion.Borders '--セルB2のアクティブセル領域が対象
.LineStyle = xlContinuous '--アイテムを指定せず、罫線の設定
.Weight = xlMedium
.ColorIndex = xlAutomatic
With .Item(xlInsideHorizontal) '--上下端以外の横線の設定
.LineStyle = xlDash
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
With .Item(xlInsideVertical) '--左右端以外の横線の設定
.LineStyle = xlDash
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
End With
End Sub
上下端、左右端の罫線個々に関して同じ設定を繰り返していたのでは冗長なコードになってしまいますので、アイテムを指定せずに外周の罫線の設定を他の罫線に対しても行い、その後、外周以外の罫線の設定を行っています。
しかし、セル範囲の外周だけに罫線を引きたい場合には、BorderAroundメソッドを使う方が良いでしょう。次のサンプルのように指定します。引数に使用する定数は、Bordersコレクションオブジェクトの各プロパティに指定するものと同じです。
●サンプル3●
Sub BordersSamp3()
Range("B2").CurrentRegion.BorderAround _
LineStyle:=xlContinuous, _
Weight:=xlMedium, _
ColorIndex:=xlAutomatic
End Sub