Excel VBAで罫線を引く:Borders,BorderAround

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

罫線を設定する方法

罫線の設定方法は2種類あり、それぞれ使い方と結果が異なります。

Borders (). 〇〇〇プロパティで設定する

構文は下記のとおりです。

[範囲]は、Rangeオブジェクトです。Cells(X, Y)やRange("A1:A5")などを指します。Rangeオブジェクトであれば変数でも可です。[適用箇所]は省略可です。[種類]は必須で線種や太さ、色などを示し、[設定値]は[種類]に応じた値を設定します。

[適用箇所]:省略した場合、下記1、2以外すべてが適用され、もっとも単純なマス目になります。省略する場合は、()も不要です。

No 記述 反映箇所 No 記述
反映箇所
xlDiagonalDown 斜線(左上-右下) xlEdgeRight 範囲の右側罫線
xlDiagonalUp 斜線(左下-右上) xlEdgeTop 範囲の上側罫線
xlEdgeBottom 範囲の下側罫線 xlInsideHorizontal 範囲内の内部罫線(横)
xlEdgeLeft 範囲の左側罫線 xlInsideVertical 範囲内の内部罫線(縦)

[種類]:数が多いので、下表に主なものだけにまとめます。

記述(プロパティ名) 内容  記述(プロパティ名) 内容

Weight

(線の太さ) 

xlHairline 細線

   LineStyle

(線の種類)

xlContinuous 連続線
xlMedium 普通 xlDash 破線
xlThick 太線  xlDot 点線
xlThin 極細 xlLineStyleNone 線なし
記述(プロパティ名) 内容  記述(プロパティ名)  値 内容

Color(色)

※RGB関数でも指定可 

vbBlack

   ColorIndex(色番号)

※1~56の各色

vbRed
vbBlue
vbYellow

BorderAroundメソッドで設定する

選択範囲外周の罫線を一気に設定できます。構文は下記のとおりです。

引数はそれぞれ上表の[種類]に対応しますが、[線の種類]と[線の太さ]は同時指定できません。[テーマ色]は基本的にあまり使いません。

使用例1

BordersとBorderAroundの違いにご注目ください。Bordersを使用する際は、withステートメントを使うとコードがすっきりして見やすくなります。

[実行結果]罫線1

左の点線がBorders、右がBorderAroundの結果です。

使用例2 Excel方眼紙

いわゆる「Excel方眼紙」を、VBAで作成してみます。

[実行結果]罫線2


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集