【VBA】セルに罫線(下線・二重線・外枠線)を引く方法
今回は VBA で指定したセル範囲に好きな色や太さの罫線を引く方法を解説します。とりあえず、セル B2:D2 に青いアンダーラインを引いてみます。
'[VBA] セルB2:D2に青色アンダーラインを引くプロシージャ Sub Line_Test_1() '変数をBorderコレクションで宣言 Dim myborder As Border '変数myborderにBorderオブジェクトを格納 Set myborder = Range("B2:E2").Borders(xlEdgeBottom) With myborder .LineStyle = xlContinuous '実線を指定 .Weight = xlThick '太線を指定 .ColorIndex = 5 '青色を指定 End With End Sub
Line_Test_1() を実行すると次のような太い罫線が引かれます。
【VBA】Bordersコレクション
セルの罫線は Range オブジェクトに属する Bordersコレクションです。Borders コレクションは上下、左右、対角線など個別の Border オブジェクトをまとめたものです。Borders プロパティの引数で「どの場所に線を引くのか」を指定することができます。
罫線の種類
線の種類は Border オブジェクトの LineStyle プロパティ で指定します。
Borders.LineStyle Property | 線の種類 |
---|---|
xlContinuous | 細い実線 |
xlDash | 破線 |
xlDashDot | 一点鎖線 |
xlDashDotDot | 二点鎖線 |
xlDot | 点線 |
xlDouble | 二重線 |
xlSlantDashDot | 斜破線 |
xlLineStyleNone | 無し |
罫線の太さ
線の太さは Weight プロパティ で指定します:
Borders.Weight Property | 線の太さ |
---|---|
xlHairline | 極細 |
xlThin | 細い |
xlMedium | 中間 |
xlThick | 太い |
罫線の色
線の色は Color プロパティ、もしくは ColorIndex プロパティで指定します。主な色の種類は次の通りです。
Color Property | ColorIndex Property | 色 |
---|---|---|
RGB(255,0,0) | 3 | 赤 |
RGB(0,255,0) | 4 | 緑 |
RGB(0,0,255) | 5 | 青 |
RGB(255,255,0) | 6 | 黄 |
格子線
指定したセル範囲に格子線を引きたいときは、Borders コレクションの引数に何も指定しないようにします。
'[VBA] 赤色の格子線を引くプロシージャ Sub Line_Test_2() With Range("B2:D4").Borders .LineStyle = xlContinuous '実線を指定 .Weight = xlMedium '普通の太さを指定 .Color = RGB(255, 0, 0) '赤色を指定 End With End Sub
Line_Test_2() を実行すると赤い格子線を引いてくれます。
【VBA】BorderAroundメソッドで外枠線を引く
ところで、Borders コレクションには範囲に外枠線を引かせるオブジェクトが見当たりません。上下左右に一本ずつ線を引けば外枠線になるけど、そんな面倒なことしたくありませんよね。そこで登場するのが BorderAround メソッドです。Range オブジェクトに BorderAround メソッドを使って外枠線を引いてみましょう。
'[VBA] 青色の外枠線を引くプロシージャ Sub Line_Test_3() Range("B2:D4").BorderAround ColorIndex:=5, Weight:=xlThick End Sub
Line_Test_3() を実行すると、下の図のような青い外枠線が描かれます。
コメント
[ChatGPT] Excel VBAを使用して罫線を引くには、RangeオブジェクトのBorderプロパティを使用します。以下のコード例では、A1からB3までのセル範囲に罫線を引く方法を示します。
このコードでは、Rangeオブジェクトを使用してセル範囲を指定し、Bordersプロパティを使用して罫線の設定を行っています。Withステートメントを使用することで、範囲内の罫線全体に対して同じ設定を適用することができます。上記の例では、連続の細い線(xlContinuous、xlThin)が自動色(xlAutomatic)で設定されます。
Word VBAを使用して罫線を引くには、TableオブジェクトのBordersプロパティを使用します。以下のコード例では、ドキュメント内の最初の表に罫線を引く方法を示します。
このコードでは、Tableオブジェクトを使用して最初の表を指定し、Bordersプロパティを使用して罫線の設定を行っています。Withステートメントを使用することで、内部および外側の罫線に対して同じ設定を適用することができます。上記の例では、連続の細い線(wdLineStyleSingle、wdLineWidthThin)が自動色(wdColorAutomatic)で設定されます。