この記事では、VBAを使ってExcelのシートに罫線を引く方法を実際のVBAコードも含めて説明します。
VBAで罫線を引く場合には、格子罫線や外枠のみの罫線、また、罫線を引く範囲や「実線」「点線」「2本線」などのスタイル、太さ、色を指定することができます。


それぞれのVBAコードを紹介しますので、ご参考になれば幸いです。
上・下辺や左・右辺、斜め線など、セルの四辺に独立して線を引きたい場合は下記の記事をご参照ください。

VBA│罫線のスタイル、太さ、色
基本構文
With.object. Borders
.LineStyle
.Weight
.Color
スタイル(LineStyle)
Excelの罫線には14種類のスタイルがあります。それぞれのスタイルの名称とVBAで記述するプロパティを紹介します。
「線なし」「実線」「点線」「二点鎖線」「一点鎖線」「破線」「斜破線」「二本線」。それぞれ、太さが異なるだけでスタイル自体は一緒のものもありますので、実質的な種類は8種類です。(例えば「実線」は太さの違いで4種類あります)
<参考~Excelの画面より>

<それぞれのスタイル名称とVBAプロパティ>

ここでは、罫線のスタイルの名称とVBAで記述する場合のプロパティを紹介します。なお、罫線のスタイルの順番は、Excelの書式設定の表示内容に合わせています。(左上から右下に向かって、下に進めます。)
以下、罫線スタイルの見本とスタイル、太さのプロパティを記載しています。
①なし

Style = xlLineStyleNon
Weight = –
②実線

Style = xlContinuous
Weight = xlHairline
③点線

Style = xlDot
Weight = xlThin
④二点鎖線

Style = xlDashDotDot
Weight = xlThin
⑤一点鎖線

Style = xlDashDot
Weight = xlThin
⑥破線

Style = xlDash
Weight = xlThin
⑦実線

Style = xlCountinuous
Weight = xlThin
⑧二点鎖線

Style = xlDashDotDot
Weight = xlMedium
⑨斜破線

Style = xlSlantDashDot
Weight = xlMedium
⑩一点鎖線

Style = xlDashDot
Weight = xlMedium
⑪破線

Style = xlDash
Weight = xlMedium
⑫実線

Style = xlContinuous
Weight = xlMedium
⑬実線

Style = xlContinuous
Weight = xlThick
⑭二本線

Style = xlDouble
Weight = xlThick
太さ(Weight)
罫線の太さはWightプロパティで設定します。前節でも記載していますが、Weightプロパティには4つの太さがあります。
太さ | プロパティ |
---|---|
極細線 | xlHairline |
細線 | xlThin |
中太線 | xlMedium |
太線 | xlThick |
色
罫線の色は、Colorプロパティ(RGB)やColorIndexで設定します。VBAの基本的な色の設定と同一内容となりますので、詳細は割愛します。
VBA│格子罫線
この章では、ExcelのセルB2からセルE8の範囲に格子罫線を引くVBAコードを紹介します。

基本構文
object . Borders.LineStyle = xlContinuous
- object = 罫線を引くセル(範囲)
この例では、B2からE8です - Borders = 格子罫線を引くプロパティ
- LineStyle = 前節で説明した罫線のスタイル
この例では実線(xlContinuous)を使います
Rangeプロパティ
Sub Sample()
Range(“B2:E8”).Borders.LineStyle = xlContinuous
End Sub
Cellsプロパティ
Sub Sample()
Range(Cells( 2 , 2), Cells( 8 , 5)).Borders.LineStyle = xlContinuous
End Sub
VBA│外枠罫線
この章では、ExcelのセルB2からセルE8の範囲に外枠罫線を引くVBAコードを紹介します。

基本構文
object . BordersAround LineStyle := xlContinuous
- object = 罫線を引くセル(範囲)
この例では、B2からE8です - BorderAround = 外枠罫線を引くプロパティ
- LineStyle = 前節で説明した罫線のスタイル
この例では実線(xlContinuous)を使います
Rangeプロパティ
Sub Sample()
Range(“B2:E8”).BorderAround LineStyle := xlContinuous
End Sub
Cellsプロパティ
Sub Sample()
Range(Cells( 2 , 2), Cells( 8 , 5)).BorderAround LineStyle := xlContinuous
End Sub
上・下辺や左・右辺、斜め線など、セルの四辺に独立して線を引きたい場合は下記の記事をご参照ください。
