EXCEL VBA Borders LineStyle Weightの使い方(セルに罫線を引く)
●はじめに
ここでは、セルに罫線を引く方法の説明をいたします。EXCELは表計算ソフトなので、主に罫線を使った表を作成する機会がとても多いと思います。VBAプログラムを利用する事により、自動的に罫線を引いたり、処理結果により罫線を利用した表を作成するなど、さまざまな条件に併せて自由に罫線を使う事も出来ます。
Borders(罫線位置)
●書式の説明
Rangeオブジェクト.Borders(罫線位置の定数)
| 罫線位置 | 定数 | 結果(罫線位置) |
|---|
| 上 | Borders(xlEdgeTop) | |
| 下 | Borders(xlEdgeBottom) | |
| 左 | Borders(xlEdgeLeft) | |
| 右 | Borders(xlInsideHorizontal) | |
| 内側の水平線 | Borders(xlInsideHorizontal) | |
| 内側の垂直線 | Borders(xlInsideVertical) | |
| 左上から右下への斜線 | Borders(xlDiagonalDown) | |
| 左下から右上の斜線 | Borders(xlDiagonalUp) | |
| 囲線 | Borders(xlContinuous ) | |
●プログラム説明
下記のプログラムは、9種類の罫線位置を指定するプログラムになります。()内の定数を設定する事で、さまざまな罫線を表現する事が出来ます。実際の設定方法等は、下記のサンプルプログラムを参照してください。
Sub keisen01()
Range("B2").Borders(xlEdgeTop).LineStyle = xlContinuous '上
Range("B4").Borders(xlEdgeBottom).LineStyle = xlContinuous '下
Range("B6").Borders(xlEdgeLeft).LineStyle = xlContinuous '左
Range("B8").Borders(xlEdgeRight).LineStyle = xlContinuous '右
Range("B10:C11").Borders(xlInsideHorizontal).LineStyle = xlContinuous '内側の水平線
Range("B12:C12").Borders(xlInsideVertical).LineStyle = xlContinuous '内側の垂直線
Range("B15").Borders(xlDiagonalDown).LineStyle = xlContinuous '左上から右下への斜線
Range("B17").Borders(xlDiagonalUp).LineStyle = xlContinuous '左下から右上への斜線
Range("B19").Borders.LineStyle = xlContinuous '囲線
End Sub
Borders.LineStyle(罫線の種類)
●書式の説明
Rangeオブジェクト.Borders.LineStyle = 定数
| 罫線の種類 | 定数 | 表示結果 |
|---|
| 細実線 | LineStyle = xlContinuous | |
| 破線 | LineStyle = xlDash | |
| 一点鎖線 | LineStyle = xlDashDot | |
| 二点鎖線 | LineStyle = xlDashDotDot | |
| 点線 | LineStyle = xlDot | |
| 斜め破線 | LineStyle = xlSlantDashDot | |
| 二重線 | LineStyle = xlDouble | |
| 線なし(罫線削除) | xlLineStyleNone | |
●プログラム説明
下記のプログラムは、8種類の罫線の種類を指定したプログラムになります。「定数」を設定する事で、さまざまな罫線の種類を表現する事が出来ます。実際の設定方法等は、下記のサンプルプログラムを参照してください。
Sub keisen02()
Range("B2").Borders.LineStyle = xlContinuous '細実線
Range("B4").Borders.LineStyle = xlDash '破線
Range("B6").Borders.LineStyle = xlDashDot '一点鎖線
Range("B8").Borders.LineStyle = xlDashDotDot '二点鎖線
Range("B10").Borders.LineStyle = xlDot '点線
Range("B12").Borders.LineStyle = xlSlantDashDot '斜め破線
Range("B14").Borders.LineStyle = xlDouble '二重線
Range("B16").Borders.LineStyle = xlLineStyleNone '線なし
End Sub
Borders.Weight(罫線の太さ)
●書式の説明
Rangeオブジェクト.Borders.Weight = 定数
| 罫線の太さ(種類) | 定数 | 表示結果 |
|---|
| 極細 | Weight = xlHairline | |
| 細 | Weight = xlThin | |
| 中 | Weight = xlMedium | |
| 太 | Weight = xlThick | |
●プログラム説明
下記のプログラムは、4種類の罫線の太さを指定したプログラムになります。「定数」を設定する事で、さまざまな罫線の太さを表現する事が出来ます。実際の設定方法等は、下記のプルグラムを参照してください。
Sub keisen03()
Range("B2").Borders.Weight = xlHairline '極細
Range("B4").Borders.Weight = xlThin '細い
Range("B6").Borders.Weight = xlMedium '中
Range("B8").Borders.Weight = xlThick '太い
End Sub
表に罫線を引くサンプル
●プログラム説明・サンプル①
下記に、作成したデータに罫線を引くサンプルプログラムを作成しました。実際に表を作成する際は、With Endを使うなど罫線の種類、色、太さなどを同時に選択する方が、プログラムが見やすくなります。プログラムの説明、B2~D11までにデータが登録されているセルに対して指定した罫線を引くプログラムです。
Sub keisen1()
With Range("B2").CurrentRegion 'B2から始まる表を自動的に選択
.Borders.LineStyle = xlContinuous '囲線を選択
.Borders.ColorIndex = 44 '色を選択
.Borders.Weight = xlThick '太字を選択
End With
End Sub
●実行結果
実行後、セルB2からD11までのデータに対して、罫線が引かれました。
●実行前 ※罫線を引く前のデータを作成します。(クリックして拡大)
●実行後 ※セルに入力されている範囲に、罫線が引かれました。(クリックして拡大)
●プログラム説明
サンプル②:下記のプログラムは、サンプル①とほぼ同じ内容の罫線を引く処理を行いますが、サンプル①の場合は、罫線の範囲が自動選択なので、意図しない場所まで罫線が引かれてしまいます。下記のサンプル②は、罫線を引き範囲を指定選択(B2~D11)する事により、指定した範囲のみ罫線を引く事が出来ます。罫線を引く範囲を指定する場合は、サンプル②を参照して下さい。
Sub keisen2()
With Range("B2:D11") 'B2~D11を指定して選択
.Borders.LineStyle = xlContinuous '囲線を選択
.Borders.ColorIndex = 56 '色を選択
.Borders.Weight = xlThin '細い
End With
End Sub
最後まで、ご覧いただきまして誠に有難うございました。
以上で、EXCEL VBA Borders LineStyle Weightの使い方(セルに罫線を引く)の説明でした。条件処理を設けて処理結果により、罫線を使い見やすい表を作成するなど、便利な機能なので状況により利用して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。