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

コメント