Categories: VBA

VBAで格子・外枠に罫線を引く│罫線の範囲や種類、太さ、色の指定

この記事では、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)を使います

罫線の太さを設定するWeightや色を設定するColorを追加することもできますが、必須項目ではありません。

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)を使います

格子罫線を引く場合の構文と少し異なりますので、注意してください。(ピリオドやコロンの有無)
罫線の太さを設定するWeightや色を設定するColorを追加することもできますが、必須項目ではありません。

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

上・下辺や左・右辺、斜め線など、セルの四辺に独立して線を引きたい場合は下記の記事をご参照ください。

Webs

元事務処理担当者として、プログラミングを活用した業務改善を推進している。プログラマ出身ではない事務職の現場目線で情報を発信。 その他、webs-studio.jpをメインに、複数のブログサイトを立ち上げており、合計で月間10万PVのメディア運営を行っている。 姉妹サイト一覧