EXCEL VBA セルの範囲に罫線を引く・データ範囲に罫線を設定(格子罫線・外枠罫線・罫線削除)

 

EXCEL VBA セルの範囲に罫線を引く・データ範囲に罫線を設定(BorderAroundメゾット:格子罫線・外枠罫線・罫線削除)

 

 

 ●はじめに

EXCELで様々なデータを利用して表を作成すると思います。普段EXCELで罫線を引く事は、そこまで難しい事ではありませんが、VBAプログラムで作成する際は、ビジュアル的に見ないで作成するので、イメージしづらいと思います。ただ、VBAプログラムを利用して罫線を引くプログラムを作成すると、表のサイズ合わせて罫線を引いたり、ある条件を付けて罫線を引くなどプログラミングした条件による判断で罫線を引く事もできます。ここでは、格子罫線と外枠罫線を中心に利用したサンプルプログラムの説明をいたします。

なお、基礎的な罫線を引く方法につきましては、下記を参照してください。

●EXCEL VBA Borders LineStyle Weightの使い方(セルの罫線を引く)

https://akira55.com/borders/

 

 

 ●書式の説明 (BorderAround:外枠・Borders.LineStyle:格子)

● オブジェクト.BorderAround(LineStyle,Weight,ColorIndex,Color)

①:セル範囲を指定(オブジェクト)
②:罫線の種類(LineStyle)
③:罫線の太さ(Weight)
④:罫線の色を指定(ColorIndex,Color)
※どちらかの引数に色を設定 (ColorIndex又はColor)

● オブジェクト.Borders.LineStyle = 定数

【引数の説明】
①:セル範囲を指定(オブジェクト)
②:罫線の種類(LineStyle)

罫線の種類定数表示結果
細実線LineStyle = xlContinuous
破線LineStyle = xlDash
一点鎖線LineStyle = xlDashDot
二点鎖線LineStyle = xlDashDotDot
点線LineStyle = xlDot
斜め破線LineStyle = xlSlantDashDot
二重線LineStyle = xlDouble
線なし(罫線削除)xlLineStyleNone
罫線の太さ(種類)定数表示結果
極細Weight = xlHairline
Weight = xlThin
Weight = xlMedium
Weight = xlThick
【ColorIndex】

 

 

 

 

指定したセル範囲の周囲に罫線を引く(外枠罫線)

 

 

 ●プログラム説明 (サンプル①) 【外枠罫線】

下記のサンプルプログラムは、外枠罫線を引くサンプルプログラムです。4つの表がありますので、その表に罫線を4種の罫線を引きます。

 

 

●実行前~実行後 ※プログラム実行後、4種類(極細線・細線・中線・太線)の外枠罫線が引かれました。
(画面クリックして拡大)

 

 

 

指定したセル範囲の周囲に罫線を引く(格子罫線)

 

 

 ●プログラム説明 (サンプル②) 【格子罫線】
下記のサンプルプログラムは、格子罫線を引くサンプルプログラムです。4つの表がありますので、その表に罫線を4種の罫線を引きます。

 

 

 

 ●実行前~実行後 ※プログラム実行後、4種類(細実線・破線・一点鎖線・斜め破線)の格子罫線が引かれました。
(画面クリックして拡大)

 

 

表の大きさに応じて罫線を引く(外枠罫線・格子罫線)

 

 

 ●プログラムの説明 サンプル③

下記のサンプルプログラムは、表の大きさ(範囲)を把握して、その表の先頭行と最終行を把握します。表の全体は、「格子罫線」を引きます。外枠は、「中線」を引きます。先頭行は、「斜め破」を引きます。最終行は、「二重線」を引きます。表の大きさを把握して指定した箇所に罫線を自動に引くサンプルプログラムです。

 

 

 

●実行前~実行後 ※プログラム実行後、表の大きさを判断して表全体には、格子罫線・外枠罫線が引かれます。先頭行には、斜め破線・最終行には、二重線が引かれました。このプログラムは、セルB5を軸に罫線を作成するように出来ています。列や行が増減しても同じ条件で罫線が引けるように作成しています。
(画面クリックして拡大)

 

 

複数の表に対して罫線を引く(自動的に大きさを判断し罫線を引く)

 

 

●プログラムの説明 サンプル④

下記のサンプルプログラムは、サンプルプログラム③の応用プログラムです。同じシート内に、複数の表がある時に、順番に指定した表に対して罫線を引くプログラムです。プログラム内に、表の位置(セル番号)を設定する事で、表の大きさも自動的に判断して、同じフォーマットで罫線を引く事ができるサンプルプログラムです。

 

 

●実行前~実行後 ※プログラム実行後、シートに3つの表に対して順番に罫線が引かれました。
(画面クリックして拡大)

 

 

シート上の罫線を全て消去する方法 (罫線の削除①)

 

 ●プログラムの説明 (サンプル⑤)

下記のサンプルプログラムは、シート上にある罫線を全て削除するサンプルプログラムです。全ての罫線を削除する際は、格子・斜め(右上・右下)3種類の罫線を削除する必要があります。それでは、順番に説明いたします。


 

 

 

●実行前~実行後 ※プログラム実行後、シート全体に対して罫線の削除を行ったので、3つの表の全ての罫線に全てが削除されました。
(画面クリックして拡大)

 

 

シート上の指定した部分のみ罫線(表)を消去する方法 (罫線の削除②)

 

 ●プログラムの説明 (サンプル⑥)

下記のサンプルプログラムは、シート上にある指定した罫線(表)を削除するサンプルプログラムです。サンプル⑤では、シート上にある全ての罫線を削除してしまいますが、部分的に消す必要もあると思いますので、部分的に罫線を削除する方法を説明いたします。

 

 

●実行前~実行後 ※プログラム実行後、指定したセル(B5)の表のみに対して罫線が削除されました。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。