初心者必見!VBAで罫線を引く方法をわかりやすく解説!

VBAではExcelに罫線を引くことができますが、「どうやって罫線を引けばいいの?」「色や太さの種類は指定できるの?」といった疑問がでてくると思います。

VBAにて行追加やデータ追加ができるようになったら、罫線を引く方法と削除する方法までマスターして、全自動で表を作れるようになったら便利ですよね!

そこで、この記事ではVBAで罫線を引く方法について、以下の内容で解説していきます!


【基礎】罫線とは何か
【基礎】罫線を設定する方法
【基礎】罫線をクリア(削除)する方法
【発展】罫線の種類を設定する方法
【発展】罫線の色を設定する方法
【発展】罫線の太さ設定する方法
【発展】追加した行まで罫線を引いてみる

VBAで罫線を引く方法をわかりやすく解説していますので、ぜひ参考にしてください!

罫線とは何か

罫線とは、セルを囲むように引く線で、表として分かりやすくするときに使います。

罫線を引く前、引いた後のサンプルを用意しました。

[罫線設定前]

1_罫線とは

[罫線設定後]

2_罫線とは

罫線を引いただけで、表が見やすくなりますよね。

それでは次に、罫線を設定する具体的な書き方について解説していきます!

罫線を設定する方法

セルに罫線を設定する方法

Rangeでセルの範囲を指定して、その中の罫線を引く箇所を指定する方法を解説します。

RangeでC3:E5を範囲選択し、Bordersプロパティを使う場合を例にして解説します。

[書式]

引きたい箇所を指定する定数について表にまとめました。

定数説明
xlDiagonalDown範囲内の各セルの左上隅から右下への罫線
xlDiagonalUp範囲内の各セルの左下隅から右上への罫線
xlEdgeBottom範囲内の下側の罫線
xlEdgeLeft範囲内の左端の罫線
xlEdgeRight範囲内の右端の罫線
xlEdgeTop範囲内の上側の罫線
xlInsideHorizontal範囲外の罫線を除く、範囲内のすべてのセルの水平罫線
xlInsideVertical範囲外の罫線を除く、範囲内のすべてのセルの垂直罫線

C3:E5を1つのまとまった範囲として、上部(図でいう①の部分)に罫線を引きたい場合、[使用例]のコードLineSample1にある①のように記述します。

同じく、左(図でいう②の部分)に罫線を引きたい場合、LineSample1ある②のように・・・以下同様、図中の番号とコードの番号を比較して見てください。

2

罫線の種類はxlContinuousを使い、実線を指定しています。

[使用例] [実行結果]

3

すべてを指定したので範囲に格子状の罫線が引けました。

このようにして罫線を引きたい箇所を指定することができます。

セル範囲の外枠に罫線を引く方法

セル範囲の外枠に罫線を引く場合は、上下左右をすべて指定するのではなく、BorderAroundメソッドを使います。

[書式] [使用例] [実行結果]

4

指定した範囲の外枠に罫線を引くことができました。

セル範囲に格子状に罫線を引く方法

セル範囲に格子状に罫線を引くには、すべて指定する必要はなくBordersプロパティの引数を省略すれば可能です。

[使用例] [実行結果]

5

コード1行だけで指定した範囲に格子状の罫線が引けました。

罫線をクリア(削除)する方法

セルの罫線をクリアする方法

罫線の箇所を指定して消すには、xlLineStyleNoneを使います。

[書式]

左側の罫線だけを消すには、次のようにBordersプロパティの引数にxlEdgeLeftを指定します。

[使用例] [実行結果]

6

指定した範囲の左側だけ罫線を消すことができました。

セル範囲の罫線をクリアする方法

セル範囲のすべての罫線を一気にクリアすることもできます。

[使用例]

すべての罫線を引いた時と同じように、Bordersプロパティの引数を省略します。

[実行結果]

7

範囲の罫線すべてが消えました。

罫線の種類を設定する方法

ここまでの解説ではxlContinuousを指定し、実線を引きました。

xlContinuous以外を指定し、罫線の種類を変えることができます。

[書式]

罫線の種類の指定を表にまとめます。

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

xlDashを指定し、破線を引きます。

分かりやすいように、先に格子状の罫線を引いた状態から解説します。

[使用例] [実行結果]

8

範囲の左に破線が引けました。

※以降の解説では、このLineSample6を実行したときのシートのままで解説するコードを実行してください。

罫線の色を設定する方法

色を変えるには、BordersプロパティのColorプロパティを使います。

[書式]

色を設定する定数について、表にまとめました。

定数
vbBlack0x000000
vbRed0x0000FF
vbGreen0x00FF00
vbYellow0x00FFFF
vbBlue0xFF0000
vbMagenta0xFF00FFマゼンタ
vbCyan0xFFFF00シアン
vbWhite0xFFFFFF
[使用例] [実行結果]

9

範囲上部が赤に変わりました。

罫線の太さ設定する方法

Weightを使い、罫線の太さを変えることができます。

[書式]

指定する罫線の太さの定数を表にまとめました。

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

線の太さは指定しなければ標準のxlThinが選択されるのですが、xlThickを使い太線にします。

[使用例] [実行結果]

10

範囲下部に太線が引けました。

追加した行まで罫線を引いてみる

今まで解説してきた内容をフルに使い、完全に自動で罫線を入れます。

以下のような表があったとします。

11

社員を2名追記しました。

12

表ヘッダの位置と横幅(つまり6月まで)固定するものとして、追加した社員の行もVBAで罫線を一気に引きましょう

[実行結果]

13

いかがでしょうか。

表が大きくなればなるほど、全自動で罫線が引けるのはとても便利ですよね。

コード中で使った最終セルの行番号を取得する方法は、以下の記事をご覧ください。

VBAで最終行を取得するには?|End(xlUp)、SpecialCells(xlLastCell)
更新日 : 2019年4月24日

まとめ

本記事では、VBAで罫線の引き方を解説しました。

罫線の種類や色を変える方法も合わせて使い、より実践的な表を作ってみてください。

もしVBAで罫線を引いたり消したりする方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

本多 農

本多 農

関西在住のITエンジニアです。普通の会社に勤務しながら、侍エンジニアのインストラクター、ライターとして活動しています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説