セルに罫線を引く Bordersオブジェクト




構文など
Range .Borders.

セルに罫線を引くBordersオブジェクトです。
Excel機能にある「セルの書式設定」の「罫線」タブで設定出来る内容とだいたい同じです。
罫線を引く位置、スタイル、色はプロパティで設定します。





1.罫線を引く位置 Borders(index) プロパティ
名前 説明
xlEdgeBottom 下
xlEdgeLeft 左
xlEdgeRight 右
xlEdgeTop 上
xlDiagonalDown 左上から右下ななめ
xlDiagonalUp 右上から左下ななめ
xlInsideHorizontal 範囲の間の横
xlInsideVertical 範囲の間の縦
XlBordersIndex 列挙

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
XlBorderWeight 列挙

サンプルコード
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
XlLineStyle 列挙

サンプルコード
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