表全体に格子罫線を簡単に引く・解除する(Excel VBA)

【本日のミッション】

Excel VBAにて、表全体に格子の罫線を簡単に引け。
また、
それらの罫線を解除せよ。

ミッションの概要

下記罫線の設定が全くされていない状態の表全体に、罫線を引く・解除するミッションです。

罫線を引くVBAのコードは1行です。

せっかくなので、細線・極細線・2本線・色線・罫線解除の5パターンを作ってみましょう。

今回は気象庁 過去の気象データを使用させて頂きました。

気象庁 過去の気象データ・ダウンロード

プロシージャ

Sub 表全体に格子罫線_細線()
    Range("A1:D13").Borders.Weight = xlThin
End Sub
Sub 表全体に格子罫線_極細線()
    Range("A1:D13").Borders.Weight = xlHairline
End Sub
Sub 表全体に格子罫線_2本線()
    Range("A1:D13").Borders.LineStyle = xlDouble
End Sub
Sub 表全体に格子罫線_色線()
    Range("A1:D13").Borders.ColorIndex = 3 '赤色
End Sub
Sub 表全体罫線解除()
    Range("A1:D13").Borders.LineStyle = False
End Sub

記入したプロシージャ(Sub~End Subまで)のどこかにカーソルを置いてF5キーをクリックしてください。

Excelのシートを見てください。
指定した表に、指定した罫線が引けましたね。

【表全体に格子罫線_細線】

【表全体に格子罫線_極細線】

【表全体に格子罫線_2本線】

【表全体に格子罫線_色線】

【表全体罫線解除】

罫線の設定された状態からこのマクロを実行すると、罫線の無い元の状態の表に戻ります。

■■■スポンサーリンク■■■

表全体に罫線を設定するのは簡単

Excel VBA の罫線設定項目はたくさんあります。凝った表を作るにはそれらの設定は有効なのでしょうが、簡単な表には細かい設定は必要ありません。

罫線の設定にはBordersコレクションを使用します。

指定したい線の場所によって使い分けますが、表全体に同じ罫線を設定するには「Borders」だけでいいのです。

オブジェクト対罫線
Borders上・右・下・左・内側水平・内側垂直
Borders(xlEdgeTop)上側の罫線
Borders(xlEdgeRight)右側の罫線
Borders(xlEdgeBottom)下側の罫線
Borders(xlEdgeLeft)左側の罫線
Borders(xlInsideHorizontal)内側水平(横線)
Borders(xlInsideVertical)内側垂直(縦線)
Borders(xlDiagonalDown)左上から右下の斜め線
Borders(xlDiagonalUp)左下から右上の斜め線

罫線の種類のプロパティ

表全体に1種類の罫線を指定するのであれば、これだけでOK。

この時、線の太さ(Weight)には規定値の「xlThin」(細線)が設定されます。

Sub 表全体に格子罫線_2本線()
    Range("A1:D13").Borders.LineStyle = xlDouble
End Sub

赤字部分を、指定したい罫線の種類(下記参照)に変更してください。

プロパティ定数説明
LineStylexlNone またはxlLineStyleNone線なし
xlContinuous実線
xlDash破線
xlDashDot一点鎖線
xlDashDotDot二点鎖線
xlDot点線
xlSlantDashDot斜め破線
xlDouble2本線
xlLineStyleNone線なし

罫線の太さのプロパティ

表全体に1種類の太さの罫線を指定するのであれば、これだけでOK。

この時、線の種類(LineStyle)には規定値の「xlContinuous」(実践)が設定されます。

Sub Sub 表全体に格子罫線_極細線() 
    Range("A1:D13").Borders.Weight = xlHairline
End Sub

赤字部分を、指定したい罫線の太さ(下記参照)に変更してください。

プロパティ定数説明
WeightxlHairline極細 (最も細い罫線)
xlThin細線
xlMedium普通
xlThick太線

罫線の色のプロパティ

表全体に1色の罫線を指定するのであれば、これだけでOK。

この時、線の太さ(Weight)には規定値の「xlThin」(細線)、線の種類(LineStyle)には規定値の「xlContinuous」(実践)が設定されます。

Sub 表全体に格子罫線_色線()
    Range("A1:D13").Borders.ColorIndex = 3  '赤色
End Sub

赤字部分を、指定したいカラーパレットのインデックス値に変更してください。

プロパティ定数説明
ColorIndex1~56の整数値カラーパレットのインデックス値

罫線の解除

罫線の解除には「LineStyle = False」でOKです。

Sub 表全体罫線解除()
    Range("A1:D13").Borders.LineStyle = False
End Sub

ただしこの方法の場合、罫線を解除する範囲の外側に罫線があると、外側の罫線は残りますのでご注意さい。

Sub 表の一部罫線解除()
    Range("B5:C8").Borders.LineStyle = False
End Sub

参考

Dictionary オブジェクト(連想配列) とは ビッグデータ高速処理を可能にする技 (Excel VBA)
セル範囲を一気に変数(配列)に入れる ~バリアント型(Variant)変数を配列として使用する~(Excel VBA)
重複しないユニークなリスト作成 ~Dictionaryオブジェクト(連想配列)を使う1~ (Excel VBA)
重複しないユニークなリスト作成 ~Dictionaryオブジェクト(連想配列)を使う2~ (Excel VBA)
Dictionary(連想配列)オブジェクト CreateObject関数を使う方法・ 参照設定を使う方法 違いを理解してエラー防止(Excel VBA)
表全体に格子罫線を簡単に引く・解除する(Excel VBA)

■■■スポンサーリンク■■■