MENU

【初心者向け】Excel VBAで罫線を引く方法まとめ|表作成・装飾に役立つ基本テクニック!

先輩

🔰この記事でわかること
VBAで罫線を引く基本の構文
太線・点線・外枠だけなど、よく使うパターン
セルの範囲に一括で罫線をつけるテクニック

A子さん

「VBAで自動で表を作りたいけど、罫線って難しそう…

先輩

大丈夫。最初はコピペでもいいから、使いながら覚えればOKだよ

Excel VBAでは、表に自動で罫線を引いたり、外枠だけに装飾をつけることもできます。
今回は、A子さんのようなVBA初心者でもすぐに使えるよう、基本から丁寧に解説します。

正直、こういった罫線を引く・色を塗る等の設定関係がプログラムでは一番簡単な部類です。まずは一緒に手を動かして実際にどうなるかを確認しましょう。

目次

まずは基本の構文を知ろう

Range("B2:D4").Borders.LineStyle = xlContinuous

解説:

  • Range("B2:D4"):罫線を引くセル範囲
  • .Borders.LineStyle = xlContinuous:実線で罫線を設定
先輩

💡 これだけで、範囲内すべての境界線に罫線が引かれます。
簡単でしょ?

外枠だけ罫線を引く方法

With Range("B2:D4").Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
End With

With Range("B2:D4").Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
End With

With Range("B2:D4").Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
End With

With Range("B2:D4").Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
End With

ポイント:

  • xlEdge~外枠専用の定数
  • Weightで線の太さを調整(xlThin, xlMedium, xlThick など)
先輩

後ででてきますが、Left,Top,Right,Bottomでどこに線を引くかを指定します。

罫線の種類(LineStyle)と太さ(Weight)の一覧

LineStyle名内容
xlContinuous実線
xlDash破線
xlDot点線
xlDouble二重線
xlLineStyleNone線なし
Weight名太さ
xlHairline超極細線
xlThin細線(デフォルト)
xlMedium中太線
xlThick太線

表全体に一括で罫線を引く

With Range("B2:D6").Borders
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
End With
先輩

これだけで、表全体に統一された罫線が引けます。

特定の境界線だけに罫線を引く(細かい制御)

定数名対象部位
xlEdgeLeft左枠線
xlEdgeTop上枠線
xlEdgeBottom下枠線
xlEdgeRight右枠線
xlInsideHorizontal横方向の内線
xlInsideVertical縦方向の内線
' 縦の内側罫線だけ引く
With Range("B2:D6").Borders(xlInsideVertical)
    .LineStyle = xlDash
    .Weight = xlThin
End With

条件付きで罫線を変える(応用編)

Dim i As Long
For i = 2 To 10
    If Cells(i, 2).Value > 100 Then
        With Cells(i, 2).Borders(xlEdgeBottom)
            .LineStyle = xlDouble
            .Weight = xlThick
        End With
    End If
Next i
先輩

値が100を超えたセルに、強調罫線を自動で引くといった使い方も可能です。

よくあるトラブルと対策

トラブル原因対策
線が引かれないLineStyle が xlLineStyleNonexlContinuous などに修正
外枠だけにしたいのに全部に線が引かれるBorders に定数を指定していないxlEdgeTop などを明示する
線の色が薄いColorIndex が未指定ColorIndex = xlAutomatic を明記

✅ まとめ:罫線も“自動化”すれば時短&キレイ

  • .Borders プロパティを使えば、自由自在に罫線を操作可能
  • 最初は「外枠だけ」や「全部引く」からスタートしよう
  • VBAで整った表を一瞬で作れると、作業の見栄えも効率もUP!
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次