構文
構文は以下の通りです。
Range("セル範囲").Borders(辺の種類).LineStyle = xlContinuous / xlNone
解説
セルに罫線を引くために"Borders"オブジェクトを使用します。このオブジェクトには各辺(上側、下側、左側、右側)や、全ての辺をまとめて設定する方法があります。また、罫線を消す方法も提供されています。辺の種類は以下の通りです。
辺の種類 | 内容 |
xlEdgeTop | 上辺 |
xlEdgeBottom | 下辺 |
xlEdgeLeft | 左辺 |
xlEdgeRight | 右辺 |
指定しない | 上下左右 |
使い方
以下に具体的な使い方を紹介します。
1. 上辺に罫線を引く例
Sub DrawTopBorder()
Range("B2").Borders(xlEdgeTop).LineStyle = xlContinuous
End Sub
Range("B2").Borders(xlEdgeTop).LineStyle = xlContinuous
End Sub
2. 下辺に罫線を引く例
Sub DrawBottomBorder()
Range("B2").Borders(xlEdgeBottom).LineStyle = xlContinuous
End Sub
Range("B2").Borders(xlEdgeBottom).LineStyle = xlContinuous
End Sub
3. 左辺に罫線を引く例
Sub DrawLeftBorder()
Range("B2").Borders(xlEdgeLeft).LineStyle = xlContinuous
End Sub
Range("B2").Borders(xlEdgeLeft).LineStyle = xlContinuous
End Sub
4. 右辺に罫線を引く例
Sub DrawTopBorder()
Range("B2").Borders(xlEdgeRight).LineStyle = xlContinuous
End Sub
Range("B2").Borders(xlEdgeRight).LineStyle = xlContinuous
End Sub
5. 上下左右に罫線を引く例
Sub DrawTopBorder()
Range("B2").Borders.LineStyle = xlContinuous
End Sub
Range("B2").Borders.LineStyle = xlContinuous
End Sub
6. 罫線を消す例
Sub ClearBorders()
Range("B2").Borders.LineStyle = xlNone
End Sub
Range("B2").Borders.LineStyle = xlNone
End Sub
プログラミング例
以下に、プログラミング例を紹介します。
1. 上下左右に罫線を引く例
Sub DrawAllBorders()
Dim targetRange As Range
' 罫線を引く範囲を指定
Set targetRange = Worksheets("Sheet1").Range("B2:F10")
With targetRange.Borders
.LineStyle = xlContinuous
.Weight = xlThin
' 線の色を自動設定
.ColorIndex = xlAutomatic
End With
End Sub
Dim targetRange As Range
' 罫線を引く範囲を指定
Set targetRange = Worksheets("Sheet1").Range("B2:F10")
With targetRange.Borders
.LineStyle = xlContinuous
.Weight = xlThin
' 線の色を自動設定
.ColorIndex = xlAutomatic
End With
End Sub
この例では、セル範囲B2からF10までのセルに上下左右の罫線を引くプログラムです。Set targetRangeの行で、罫線を引く範囲を指定します。With targetRange.Bordersのブロック内で、線のスタイルや太さ、色などを設定します。
2. 特定の条件で罫線を引く例
Sub DrawConditionalBorders()
Dim cell As Range
' A列のセルを順に処理
For Each cell In Worksheets("Sheet1").Range("A1:A10")
' セルの値が50を超える場合に罫線を引く
If cell.Value > 50 Then
With cell.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
' 赤色の罫線
.ColorIndex = 3
End With
End If
Next cell
End Sub
Dim cell As Range
' A列のセルを順に処理
For Each cell In Worksheets("Sheet1").Range("A1:A10")
' セルの値が50を超える場合に罫線を引く
If cell.Value > 50 Then
With cell.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
' 赤色の罫線
.ColorIndex = 3
End With
End If
Next cell
End Sub
この例では、A列のセルの値が50を超える場合に、セルの下辺に赤色の太い罫線を引くプログラムです。If cell.Value > 50 Thenの条件を適宜変更することで、自分の希望する条件で罫線を引くことができます。
まとめ
セルに罫線を引くことで、作業の効率性が向上し、見やすいレポートやシートを作成できるようになります。是非活用してください。