サイトについて      連絡先   検索

VBA セルの罫線を設定する

はじめに

Excel VBA のセルに罫線を設定する方法を紹介します。

Range.Borders プロパティか Cells.Borders プロパティで罫線を設定できます。

Borders.LineStyle プロパティで罫線の種類を設定できます。

Borders.Weight プロパティで罫線の太さを設定できます。

罫線について

罫線を操作する基本について、先に「セルの罫線について」をご覧ください。

Border や Borders、xlEdgeTop とは何かについて紹介しています。

セルに罫線を設定する

Range の引数にセル名を指定すると、そのセルに罫線を設定できます。

セル「B2」に罫線を設定するには Range("B2").Borders のように指定します。

Dim bs As Borders
Set bs = Range("B2").Borders
bs.LineStyle = xlContinuous ' 上下左右の罫線

Dim b As Border
Set b = Range("D2").Borders(xlEdgeTop)
b.LineStyle = xlContinuous ' 上側の罫線
1

Cells の引数にセルの行と列の番号を指定すると、そのセルに罫線を設定できます。

行「2」、列「A」に罫線を設定するには Cells(2, 1).Borders のように指定します。

Dim bs As Borders
Set bs = Cells(1, 1).Borders ' A1
Set bs = Cells(2, 1).Borders ' A2
Set bs = Cells(1, 2).Borders ' B1
Set bs = Cells(2, 2).Borders ' B2
bs.LineStyle = xlContinuous

罫線の種類を設定する

Borders または Border の LineStyle で罫線の種類を設定できます。

Dim bs As Borders
Set bs = Range("B2").Borders
bs.LineStyle = xlContinuous ' 上下左右の罫線

Dim b As Border
Set b = Range("B2").Borders(xlEdgeTop)
b.LineStyle = xlContinuous ' 上側の罫線

罫線の種類には次のものがあります。

定数名 説明
xlContinuous1実線1
xlDash-4115破線2
xlDashDot4一点鎖線3
xlDashDotDot5二点鎖線4
xlDot-4118点線5
xlDouble-4119二重線6
xlSlantDashDot13斜め斜線7
xlLineStyleNone-4142なし

罫線の太さを設定する

Borders または Border の Weight で罫線の太さを設定できます。

Dim bs As Borders
Set bs = Range("B2").Borders
bs.Weight = xlThin ' 上下左右の罫線

Dim b As Border
Set b = Range("B2").Borders(xlEdgeTop)
b.Weight = xlThin ' 上側の罫線

罫線の太さには次のものがあります。

定数名 説明
xlHairline1極細8
xlThin29
xlMedium-413810
xlThick411

セルの範囲に罫線を設定する

セルの範囲「B2」~「C3」に罫線を設定するには Range("B2:C3").Borders または Range("B2", "C3").Borders のように指定します。

Dim bs As Borders
Set bs = Range("B2:C3").Borders
Set bs = Range("B2", "C3").Borders
bs.LineStyle = xlContinuous
bs.Weight = xlThin

Dim b As Border
Set b = Range("E2:F3").Borders(xlEdgeTop)
b.LineStyle = xlContinuous
b.Weight = xlThin
2

指定したシートのセルに罫線を設定する

Range.Borders とコードに書くと、アクティブなシートのセルに罫線を設定します。これは ActiveSheet.Range.Borders の ActiveSheet が省略されています。

' どちらも同じコード
Dim bs As Borders
Set bs = Range("A1").Borders
Set bs = ActiveSheet.Range("A1").Borders

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

Dim bs As Borders
' Sheet1 のセル「A1」の罫線を設定
Set bs = Sheets("Sheet1").Range("A1").Borders
Set bs = Sheets(1).Range("A1").Borders
bs.LineStyle = xlContinuous
bs.Weight = xlThin

' Sheet2 のセル「A1」の罫線を設定
Set bs = Sheets("Sheet2").Range("A1").Borders
Set bs = Sheets(2).Range("A1").Borders
bs.LineStyle = xlContinuous
bs.Weight = xlThin

関連ページ