VBAを使用してExcelシートの特定のセル範囲に境界線を追加する手順についての紹介です。
範囲指定して罫線を引く方法
境界線を追加するセル範囲を設定します。
下記の例では、シート1のA2からC10までの範囲に境界線を追加します。
Dim rng As Range
Set rng = ThisWorkbook.Sheets("Sheet1").Range("A2:C10")
範囲が設定されたら、Bordersプロパティを使用して、範囲の周囲や内部に視野線を追加できます。
With rng.Borders
.LineStyle = xlContinuous ' 罫線の種類の設定
.Color = RGB(0, 0, 0) ' 罫線の色を黒に設定
.Weight = xlThin ' 罫線の太さを細く設定
End With
特定の位置だけに定め線を追加することもできます。例えば、範囲の上端に定め線を追加する様に以下コードになります。
With rng.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Color = RGB(0, 0, 0)
.Weight = xlThin
End With
指定された範囲全体に罫線を引くサンプルコードです。
Sub DrawBordersAroundRange()
Dim rng As Range
' 範囲を設定
Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:C10")
' 範囲全体に罫線を引く
With rng.Borders
.LineStyle = xlContinuous
.Color = RGB(0, 0, 0)
.Weight = xlThin
End With
End Sub
各辺ごとに異なる罫線を引く
指定された範囲の各辺に異なる罫線を引くサンプルコードです。
Sub DrawDifferentBorders()
Dim rng As Range
' 範囲を設定
Set rng = ThisWorkbook.Sheets("Sheet2").Range("B2:C10")
' 上辺
With rng.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Color = RGB(255, 0, 0) ' 赤
.Weight = xlMedium
End With
' 下辺
With rng.Borders(xlEdgeBottom)
.LineStyle = xlDashDot
.Color = RGB(0, 0, 255) ' 青
.Weight = xlThick
End With
' 左辺
With rng.Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Color = RGB(0, 128, 0) ' 緑
.Weight = xlThick
End With
' 右辺
With rng.Borders(xlEdgeRight)
.LineStyle = xlSlantDashDot
.Color = RGB(128, 0, 128) ' 紫
.Weight = xlMedium
End With
End Sub
Bordersプロパティの要素とプロパティとは
Bordersコレクションの位置要素
- xlEdgeLeft:セル範囲の左辺
- xlEdgeRight:セル範囲の右辺
- xlEdgeTop:セル範囲の上辺
- xlEdgeBottom:セル範囲の下辺
- xlInsideVertical:セル範囲内の垂直の視野線
- xlInsideHorizontal:セル範囲内の水平の視野線
- xlDiagonalDown:左上から右下への対角線
- xlDiagonalUp:右上から左下への対角線
ラインスタイルのプロパティ
- xlContinuous:連続の線
- xlDash:破線
- xlDashDot:一点鎖線
- xlDashDotDot:二点鎖線
- xlDot:点線
- xlDouble:二重線
- xlSlantDashDot:斜めの一点鎖線
- xlLineStyleNone:貯線なし
線の太さ
- xlHairline:極細線
- xlThin:細線
- xlMedium:中線
- xlThick:太線
色の設定
RGB値、または色のインデックス値を使用して線の色を設定できます。
Borders(xlEdgeTop).Color = RGB(255, 0, 0) ' 赤