罫線とは何か
セルを囲むように、またセルの四辺を別々に設定して線を引いて、表などを見やすくするために使います。
Bordersコレクションで操作
Bordersコレクション内でどの罫線にするかは引数で指定します。
- {書式} Range(範囲).Borders(引きたい箇所).Linestyle = 罫線の種類
- {用例} Range(“C3:E6”).Borders(xlEdgeTop).LineStyle = xlContinuous
BorderAround メソッドを使う
選択したセル範囲の外枠罫線のみを引く場合は、BorderAround メソッドが便利です。
- {書式} Range(範囲).BorderAround(LineStyle,Weight,ColorIndex,Color,ThemeColor)
- {用例} Range(“C3:E6”).BorderAround Weight:=xlThick, LineStyle:=xlDouble, Color:=RGB(255, 255, 0)
- {用例} Range(“C3:E6”).BorderAround 1, 4, 3
セルに罫線の設定をする
罫線を引きたい箇所を指定する定数【Borders(xlEdgeTop)】
| 定数 | 説明 |
| xlEdgeTop | 指定した範囲セルの上側の罫線 |
| xlEdgeBottom | 指定した範囲セルの下側の罫線 |
| xlEdgeLeft | 指定した範囲セルの左端の罫線 |
| xlEdgeRight | 指定した範囲セルの右端の罫線 |
| xlInsideHorizontal | 指定した範囲のすべてのセルの水平罫線 |
| xlInsideVertical | 指定した範囲のすべてのセルの垂直罫線 |
| xlDiagonalDown | 範囲内の各セルの左上隅から右下への罫線 |
| xlDiagonalUp | 範囲内の各セルの左下隅から右上への罫線 |
罫線の種類・・・LineStyle【(LineStyle = xlContinuous)】
| 定数 | 値 | 内容 |
| xlContinuous | 1 | 実線 |
| xlDashDot | 4 | 一点鎖線 |
| xlDashDotDot | 5 | ニ点鎖線 |
| xlSlantDashDot | 13 | 斜破線 |
| xlDash | -4115 | 破線 |
| xlDot | -4118 | 点線 |
| xlDouble | -4119 | 2本線 |
| xlLineStyleNone | -4142 | 線なし |
罫線の太さを設定する・・・Weight
| 定数 | 値 | 内容 |
| xlMedium | -4138 | 普通 |
| xlHairline | 1 | 細線 (最も細い罫線) |
| xlThin | 2 | 極細 |
| xlThick | 4 | 太線 (最も太い罫線) |
罫線の色の設定・・・ColorIndex Color
| 枠番と枠色 | ColorIndex | RGB | 10進法 |
| 1枠・白 | 2 | RGB(255,255,255) | 16777215 |
| 2枠・黒 | 1 | RGB(0,0,0) | 0 |
| 3枠・赤 | 3 | RGB(255,0,0) | 255 |
| 4枠・青 | 23 | RGB(0,102,204) | 13395456 |
| 5枠・黄 | 6 | RGB(255,255,0) | 65535 |
| 6枠・緑 | 50 | RGB(51,153,102) | 6723891 |
| 7枠・橙 | 45 | RGB(255,153,0) | 39423 |
| 8枠・桃 | 26 | RGB(255,0,255) | 16711935 |
罫線をを引くプロシージャ
Borders(定数)の定数で設定した罫線の種類に対して、LineStyle、Weight、ColorIndex(あるいはColor)を指定します。
Sub 罫線を引くA()
‘変数を Borderコレクションで宣言
Dim myborder As Border
‘変数 myborder に Borderオブジェクトを格納
'Borders(xlEdgeBottom)で罫線の種類を変える
Set myborder = Range(“B3:D3”).Borders(xlEdgeBottom)
With myborder
.LineStyle = xlContinuous ‘実線を指定
.Weight = xlThick ‘太線を指定
.ColorIndex = 50 ‘緑色を指定
End With
End Sub
Bodersコレクションで引数を指定しないと
Bordersコレクション内でどの罫線にするかは引数で指定します。格子の罫線を引くだけなら、どの罫線かを指定しなくても次のコードでセル範囲B2:D5に格子の罫線が引けます。「罫線を引くC」でも同じ結果が得られます。
Sub 罫線を引くB()
Range("B2:D5").Borders.LineStyle = True
End Sub
Sub 罫線を引くC()
Range("B7:D10").Borders.LineStyle = xlContinuous
End Sub
Bodersコレクションは引数を指定しないと、四辺の罫線すべてを返します。また、罫線には線の種類(LineStyle)、太さ(Weight)、色(ColorIndex)を指定できますが、この中で必須なのはLineStyleだけです。WeightとColorIndexは省略すると標準の値が設定されます。
罫線の消去
セルに入力されたデータと、セルに設定された罫線を消去する時は「.Clear」を使いますが、罫線だけ消去したい時は次のようになります。
Sub 罫線を消去A()
Range("a2").Clear ' 罫線と書式とセル内容クリア
Range("c2").ClearFormats ' 罫線と書式をクリア
Range("e2").Borders.LineStyle = xlLineStyleNone ' 上下左右の罫線をクリア
Range("g2").Borders(xlEdgeTop).LineStyle = xlLineStyleNone ' 上側の罫線をクリア
End Sub


コメント