VBAで自動化 VBA一覧 セル・見た目の操作 ビジュアル操作

【VBA】罫線を範囲指定の変数で引く

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) ' 赤

-VBAで自動化, VBA一覧, セル・見た目の操作, ビジュアル操作