
🔰この記事でわかること
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!
コメント