EXCEL VBA - 罫線の取得と設定

罫線の取得

罫線の取得は Border オブジェクトの LineStyle プロパティを使用します。デフォルトでは、罫線を表示しない (xlLineStyleNone) 設定がされています。

Debug.Print (Range("A1").Borders(xlEdgeTop).LineStyle)    ' 上の罫線
Debug.Print (Range("A1").Borders(xlEdgeBottom).LineStyle) ' 下の罫線
Debug.Print (Range("A1").Borders(xlEdgeLeft).LineStyle)   ' 左の罫線
Debug.Print (Range("A1").Borders(xlEdgeRight).LineStyle)  ' 右の罫線
罫線の取得

参照可能な罫線の位置は、以下のように定義されています。

罫線の位置の定数一覧
定数罫線の位置
xlEdgeTop8上端
xlEdgeBottom9下端
xlEdgeLeft7左端
xlEdgeRight10右端
xlInsideHorizontal12内側横線
xlInsideVertical11内側縦線
xlDiagonalDown5右下がり斜線
xlDiagonalUp6右上がり斜線

罫線の設定

罫線の設定は Border オブジェクトの LineStyle プロパティを使用します。例えば、以下のサンプルコードは罫線に実線を設定しています。

Range("A1").Borders(xlEdgeTop).LineStyle = xlContinuous
罫線の設定

設定可能な罫線の種類は、以下のように定義されています。

罫線の種類の定数一覧
定数罫線の種類
xlContinuous1実線(細)
xlDash-4115破線
xlDashDot4一点鎖線
xlDashDotDot5二点鎖線
xlDot-4118点線
xlDot-4119二重線
xlSlantDashDot13斜め斜線
xlLineStyleNone-4142罫線なし

罫線は線の太さも設定可能です。線の太さは Border オブジェクトの Weight プロパティで設定します。設定可能な線の太さは、以下のように定義されています。

線の太さの定数一覧
定数線の太さ
xlHairline1極細
xlThin2
xlMedium-4138
xlThick4

罫線の色の指定は Border オブジェクトの ColorIndex プロパティ、または Color プロパティで指定します。ColorIndex プロパティでは 57 種類の色から選択することができます。Color プロパティでは RGB 形式によって色を指定します。

Range("A1").ColorIndex.ColorIndex = 10
Range("A1").ColorIndex.Color = RGB(255, 0, 0)
罫線の色の設定

また、罫線の色を自動設定にしたり、色なしにする場合は、以下のように記述します。

Range("A1").ColorIndex.ColorIndex = xlColorIndexAutomatic ' 自動設定
Range("A1").ColorIndex.Color = xlColorIndexNone ' 色なし
罫線の色の設定

Range オブジェクトの Borders プロパティに引数を指定すると、指定した辺の位置にある Border オブジェクトを取得できますが、引数を指定せずに Borders プロパティの値を取得した時は Borders コレクションのオブジェクトを取得できます。

Dim border1 As Borders
Set border1 = Range("A1").Borders
Borders コレクション

Borders コレクションには上下左右の 4 つの辺がすべて含まれています。そのため、すべての辺で同じ罫線を表示したい場合は Borders コレクションで設定すれば、4 つの辺をまとめて設定する事ができます。

Dim border1 As Borders
Set border1 = Range("A1").Borders

border1.LineStyle = xlContinuous
border1.Weight = xlMedium
border1.ColorIndex = 10
Borders コレクション

関連記事