セルに罫線を引く 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