教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セルに罫線(実線)を引くにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Range("セル範囲").Borders(辺の種類).LineStyle = xlContinuous / xlNone

解説

セルに罫線を引くために"Borders"オブジェクトを使用します。このオブジェクトには各辺(上側、下側、左側、右側)や、全ての辺をまとめて設定する方法があります。また、罫線を消す方法も提供されています。辺の種類は以下の通りです。

辺の種類 内容
xlEdgeTop 上辺
xlEdgeBottom 下辺
xlEdgeLeft 左辺
xlEdgeRight 右辺
指定しない 上下左右

使い方

以下に具体的な使い方を紹介します。

1. 上辺に罫線を引く例

Sub DrawTopBorder()
    Range("B2").Borders(xlEdgeTop).LineStyle = xlContinuous
End Sub

2. 下辺に罫線を引く例

Sub DrawBottomBorder()
    Range("B2").Borders(xlEdgeBottom).LineStyle = xlContinuous
End Sub

3. 左辺に罫線を引く例

Sub DrawLeftBorder()
    Range("B2").Borders(xlEdgeLeft).LineStyle = xlContinuous
End Sub

4. 右辺に罫線を引く例

Sub DrawTopBorder()
    Range("B2").Borders(xlEdgeRight).LineStyle = xlContinuous
End Sub

5. 上下左右に罫線を引く例

Sub DrawTopBorder()
    Range("B2").Borders.LineStyle = xlContinuous
End Sub

6. 罫線を消す例

Sub ClearBorders()
    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

この例では、セル範囲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

この例では、A列のセルの値が50を超える場合に、セルの下辺に赤色の太い罫線を引くプログラムです。If cell.Value > 50 Thenの条件を適宜変更することで、自分の希望する条件で罫線を引くことができます。

まとめ

セルに罫線を引くことで、作業の効率性が向上し、見やすいレポートやシートを作成できるようになります。是非活用してください。