罫線とは何か
セルを囲むように、またセルの四辺を別々に設定して線を引いて、表などを見やすくするために使います。
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
コメント