【VBA道場】#14 セルに格子罫線を引く 

ExcelVBA

【VBA道場】#14 セルに格子罫線を引く 



問題

A1~C3のセルに罫線を引いてください。

 

完成見本

解答

Sub vba_doujyou_14()

    'A1~C3セルに罫線を引く
  Sheets("Sheet1").Range("A1:C3").Borders.LineStyle = xlContinuous

End Sub

サンプルファイル(マクロ有)

今回のマクロはこちらからダウンロードしてご使用いただけます。

 

解説

object.Borders.LineStyle = xlContinuous
object:対象となるRangeオブジェクト

セルに罫線を引く操作をマクロの記録で行うと、びっくりするほど長いコードが出てきます。

下記は実際にマクロの記録で操作を記録したものです。

Sub vba_doujyou_14()

    Range("A1:C3").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
  
    End Sub

なぜこんなに長いコードになってしまうのでしょうか?

セルの罫線を手動で設定するメニューを見てみましょう。

メニューを見てみると、セルの4辺を別々に設定できることがわかります。
更には、斜線も追加することができます。

このように、セルの罫線は多くのパーツで構成されているため、コードが多くなってしまうのです。

 

今回使用したBorderオブジェクトは、どの罫線かを指定して使用します。

例えば、左側にだけ罫線を引きたい場合は「Borders(xlEdgrLeft)」のように指定します。
括弧内で「どの罫線か?」を指定しているのです。

 

逆に、どの罫線かを指定しなければ、セルの4辺の罫線を引くという特徴があります。
この特徴を利用し、セルの4辺に罫線を引くコードを書くと1行で済みます。

Sheets("Sheet1").Range("A1:C3").Borders.LineStyle = xlContinuous

 

罫線の設定には

LineStyle = 罫線の種類
Weight = 罫線の太さ
ColorIndex = 罫線の色

を設定することができます。

このうち、必ず設定しなければいけないのは一番上のLineStyle(罫線の種類)のみです。

 

罫線の種類には下記のようなものがあります。

定数 罫線の種類
xlContinuous 細い実線
xlDash 破線
xlDashDot 一点鎖線
xlDashDotDot 二点鎖線
xlDot 点線
xlDouble 二重線
xlSlantDashDot 斜め斜線
xlLineStyleNone 無し

罫線の太さや色を設定しなければ、標準の色と太さで設定することができます。

 

おわりに

今回はVBAで罫線を引くコードについて学習しました。

罫線を引く場面はExcelを使っているとよく出てきます!
しっかりと覚えておきましょう。

今日はここまで!

 

おすすめ参考書

Amazon

たった1秒で仕事が片付くExcel自動化の教科書

いちばんやさしいExcelVBAの教本

ExcelVBA逆引き辞典 パーフェクト

楽天

いちばんやさしいExcelVBA

 

 

すらすら読めるExcelVBA

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

スラスラ読めるExcel VBAふりがなプログラミング [ リブロワークス ]
価格:2035円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

 

VBA逆引き大辞典

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Excel VBA逆引き辞典パーフェクト第3版 [ 田中亨 ]
価格:2838円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

タイトルとURLをコピーしました