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



「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 が xlLineStyleNone | xlContinuous などに修正 |
| 外枠だけにしたいのに全部に線が引かれる | Borders に定数を指定していない | xlEdgeTop などを明示する |
| 線の色が薄い | ColorIndex が未指定 | ColorIndex = xlAutomatic を明記 |
✅ まとめ:罫線も“自動化”すれば時短&キレイ
.Bordersプロパティを使えば、自由自在に罫線を操作可能- 最初は「外枠だけ」や「全部引く」からスタートしよう
- VBAで整った表を一瞬で作れると、作業の見栄えも効率もUP!

コメント