構文など
Range .Borders.セルに罫線を引くBordersオブジェクトです。
Excel機能にある「セルの書式設定」の「罫線」タブで設定出来る内容とだいたい同じです。
罫線を引く位置、スタイル、色はプロパティで設定します。
1.罫線を引く位置 Borders(index) プロパティ
| 名前 | 説明 |
|---|---|
| xlEdgeBottom | 下 |
| xlEdgeLeft | 左 |
| xlEdgeRight | 右 |
| xlEdgeTop | 上 |
| xlDiagonalDown | 左上から右下ななめ |
| xlDiagonalUp | 右上から左下ななめ |
| xlInsideHorizontal | 範囲の間の横 |
| xlInsideVertical | 範囲の間の縦 |
Borders(index)を指定しない場合(省略した場合)はセルの周り全部が対象となります。
サンプルコード
Sub BorS1()
'セル上部に罫線を引く
Cells(2, 2).Borders(xlEdgeTop).LineStyle = xlContinuous
'セル範囲に罫線を引く
Cells(4, 4).Borders.LineStyle = xlContinuous
End Sub
2.罫線の太さ Weight プロパティ
| 名前 | 説明 | 値 |
|---|---|---|
| xlHairline | 極細 | 1 |
| xlThin | 細め | 2 |
| xlMedium | 普通 | -4138 |
| xlThick | 太い | 4 |
サンプルコード
Sub BorS2()
'セル範囲に罫線を引く
'細い
Cells(2, 2).Borders.Weight = xlHairline
'ふつう
Cells(4, 2).Borders.Weight = xlThin
'太め
Cells(6, 2).Borders.Weight = xlMedium
'太い
Cells(8, 2).Borders.Weight = xlThick
End Sub
3.罫線のスタイル LineStyle プロパティ
| 名前 | 説明 | 値 |
|---|---|---|
| xlContinuous | 実線 | 1 |
| xlDot | 点線 | -4118 |
| xlDash | 破線 | -4115 |
| xlDashDot | 一点鎖線 | 4 |
| xlDashDotDot | ニ点鎖線 | 5 |
| xlDouble | 2 本線 | -4119 |
| xlSlantDashDot | 斜破線 | 13 |
| xlLineStyleNone | 線なし | -4142 |
サンプルコード
Sub BorS3()
'セル範囲に罫線を引く
Cells(2, 2).Borders.LineStyle = xlContinuous
Cells(2, 4).Borders.LineStyle = xlDot
Cells(2, 6).Borders.LineStyle = xlDash
Cells(2, 8).Borders.LineStyle = xlDashDot
Cells(4, 2).Borders.LineStyle = xlDashDotDot
Cells(4, 4).Borders.LineStyle = xlDouble
Cells(4, 6).Borders.LineStyle = xlSlantDashDot
Cells(4, 8).Borders.LineStyle = xlLineStyleNone
End Sub
4.罫線の色 Color プロパティ
RGB(XX、XX、XX)、10進数、16進数で色を指定出来ます。
サンプルはRGBで指定しています。
サンプルコード
Sub BorS4() 'セル右に緑線 Cells(2, 2).Borders(xlEdgeRight).Color = RGB(0, 255, 0) 'セル上に赤線 Cells(2, 4).Borders(xlEdgeTop).Color = RGB(255, 0, 0) 'セル下に青線 Cells(2, 6).Borders(xlEdgeBottom).Color = RGB(0, 0, 255) 'セルに黄線 Cells(2, 8).Borders.Color = RGB(255, 255, 0) 'セル左に紫 Cells(4, 2).Borders(xlEdgeLeft).Color = RGB(128, 0, 128) 'セル左上~右下に黒 Cells(4, 4).Borders(xlDiagonalDown).Color = RGB(0, 0, 0) 'セル右上~左下にライトグリーン Cells(4, 6).Borders(xlDiagonalUp).Color = RGB(144, 238, 144) 'セル範囲の間縦にアクアブルー Range(Cells(6, 1), Cells(6, 3)).Borders(xlInsideVertical) _ .Color = RGB(0, 255, 255) 'セル範囲の間横にグレー Range(Cells(6, 4), Cells(7, 7)).Borders(xlInsideHorizontal) _ .Color = RGB(128, 128, 128) End Sub



