【Excelマクロ】VBAで罫線を引く方法をまとめました【セルの書式設定】

スポンサーリンク

VBAで罫線を操作する方法まとめ

この記事では、VBAで罫線を操作する方法をまとめています。

 

セルの書式設定のうち、罫線を引く際にはいくつか指定する項目があります。それら項目を踏まえて、この記事では以下の目次の内容を紹介しています。

目次

 

線のスタイルの指定方法

線の種類は以下の画像のように全部で14種類あります。

罫線の線の種類

 

画像の番号をもとに、種類を指定する際は、以下の表の「LineStyle」と「Weight」を組み合わせます。

番号 LineStyle Weight
xlNone -
xlContinuous xlHairline
xlDot xlThin
xlDashDotDot xlThin
xlDashDot xlThin
xlDash xlThin
xlContinuous xlThin
xlDashDotDot xlMedium
xlSlantDashDot xlMedium
xlDashDot xlMedium
xlDash xlMedium
xlContinuous xlMedium
xlContinuous xlThick
xlDouble xlThick

 

この表をもとに線の種類を指定するプログラムは以下の通りです。

    Range("B2").Borders(xlEdgeTop).LineStyle = 'LineStyle指定
    Range("B2").Borders(xlEdgeTop).Weight = 'Weight指定

上記のプログラムのうち、「xlEdgeTop」でセルの上部をしています。詳細は以下に記載しているので、後程ご確認ください。

 

また以下のように「With文」を利用するとさらに簡略化してコードを書くことができます。※以降のサンプルプログラムは「With文」で書いていきます。

    With Range("B2").Borders(xlEdgeTop)
        .LineStyle = 'LineStyle指定
        .Weight = 'Weight指定
    End With

 

「With文」については、以下の記事をご覧ください。

(作成中)

 

それぞれのプログラム等、さらに詳しくは以下の記事をご覧ください。

 

罫線の場所(上下左右)の指定方法

セルの罫線を引く場所(上下左右)を指定する際の名前は以下の通りです。

場所 名前
xlEdgeTop
xlEdgeBottom
xlEdgeLeft
xlEdgeRight

 

上下左右のいずれかに線を引く場合、以下のプログラムで可能です。

    Range("B2").Borders('上下左右の指定).LineStyle = 'LineStyle指定

 

それぞれのプログラム例などは以下の記事で紹介していますのでぜひご覧ください。

 

斜線を引く方法

斜線を指定する際の名前を表形式で紹介すると以下の通りです。

項目 名前
左下から右上 xlDiagonalUp
左上から右下 xlDiagonalDown

 

斜線を引くプログラムは以下の通りです。

    Range("B2").Borders('斜線の指定).LineStyle = True

 

それぞれのプログラム例などは以下の記事で紹介していますのでぜひご覧ください。

 

外枠に罫線を引く方法

外枠に罫線線を引くプログラムは以下の通りです。

    Range("B2").BorderAround LineStyle:='LineStyle指定, Weight:='Weight指定

 

上記に記載しているように「LineStyle」と「Weight」を組み合わせることで、「線のスタイル」を指定することができます。

 

また、「線の色」の指定も可能です。それぞれのプログラム例などは以下の記事で紹介していますのでぜひご覧ください。

 

内側の罫線を引く方法

内側を指定する際の名前を表形式で紹介すると以下の通りです。

項目 名前
内側の垂直方向 xlInsideVertical
内側の水平方向 xlInsideHorizontal

 

内側の罫線を引くプログラムは以下の通りです。

    With Range("B2:D4").Borders('垂直か水平の指定)
        .LineStyle = 'LineStyle指定
        .Weight = 'Weight指定
    End With

 

それぞれのサンプルプログラムなどは以下の記事で詳しく紹介していますのでぜひご覧ください。

 

罫線の色を指定する方法

罫線の色を指定する方法を以下の2通り紹介します。

  • 「.ThemeColor」と「.TintAndShade」を使う方法
  • 「.Color」を使う方法

 

「.ThemeColor」と「.TintAndShade」を使う方法

以下の画像のうち、赤線のアンダーラインの部分が「.ThemeColor」、赤枠の中身が「.TintAndShade」に対応しています。

配色

「.ThemeColor」は左から順番に番号が対応しています。

 

「.TintAndShade」の部分は比率で表示します。「.ThemeColor」との対応表は以下の通りです。

.ThemeColor
-0.05 0.5 -0.1 0.8 0.8 0.8 0.8 0.8 0.8 0.8
-0.15 0.35 -0.25 0.6 0.6 0.6 0.6 0.6 0.6 0.6
-0.25 0.25 -0.5 0.4 0.4 0.4 0.4 0.4 0.4 0.4
-0.35 0.15 -0.75 0.25 0.25 0.25 0.25 0.25 0.25 0.25
-0.5 0.05 -0.9 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5

 

線の色を指定するプログラムは以下の通りです。

    With Range("B2").Borders('線の位置の指定)
        .LineStyle = 'LineStyle指定
        .ThemeColor = 'テーマカラー指定
        .TintAndShade = '色の濃さ指定
        .Weight = 'Weight指定
    End With

上記の「.ThemeColor」と「.TintAndShade」の「=」以降を指定します。

 

例えば、5番(青色)の一番を濃い色を指定する場合は、以下のようなプログラムとなります。

    With Range("B2").Borders('線の位置の指定)
        .LineStyle = 'LineStyle指定
        .ThemeColor = 5
        .TintAndShade = -0.5
        .Weight = 'Weight指定
    End With

 

「.Color」を使う場合

「.Color」を利用して、以下の画像の「標準の色」を指定することができます。

標準の色

 

上記画像の「標準の色」は、数値で指定します。以下では、各番号に対応した値を表で表しています。

番号 Color
-16777024
-16776961
-16727809
-16711681
-11480942
-11489280
-1003520
-4165632
-10477568
-6279056

 

さらに詳しい罫線の色の変更方法については以下の記事をご覧ください。

 

格子線を引く方法

格子線を引くためには、上下左右などの線の位置を指定せず「Borders」のみ良いです。プログラムは以下の通りです。 

    Range("B2:D5").Borders.LineStyle = xlContinuous

 

さらに詳しい格子線の情報は以下の記事をご覧ください。

 

以上、VBAで罫線を引く方法のまとめでした。

関連記事

VBAの勉強方法について不安があったり、迷いがある方は一度以下の記事をご覧ください。記事を読むことで、VBAの正しい勉強方法を学ぶことができます。

 

参考書籍

VBAは基本的にネットで検索することで知識は得られます。そのため、勉強するならば、ネット検索が一番おすすめではあります。ただ、ネットでの検索はわからないことを調べるという方法です。

 

一方で書籍だと一から順序立てて基礎を網羅することもできます。以下の記事はVBAの基礎を網羅するのにおすすめの記事なので、ぜひご覧ください。