アフィリエイト広告を利用しています

【エクセルVBA】セルに罫線を引くマクロ

エクセルでは表を使うことが多くあります。ワークシートにある表を見やすくするには、罫線や背景色を整える事が必要です。

罫線や背景色の書式を、マクロで設定すれば見やすい表を作ることができます。

目次

サンプルデータ入力用のコード

次のコードを実行すると、データが入力できます。セル幅は調整してください。

Sub データ3444_d()

    Worksheets("Sheet1").Select
    Range("B2") = "牛肉販売業"
    Range("B3") = "業者コード"
    Range("B4") = "A0001"
    Range("B5") = "A0002"

    Range("C3") = "業者名"
    Range("C4") = "山形食品"
    Range("C5") = "ゼネラルマート"
    Range("C6") = "どんと食品"
 
    Range("D3") = "販売数(kg)"
    Range("D4") = 300
    Range("D5") = 600
    Range("D6") = 200
 
    Range("E3") = "請求金額"
    Range("E4") = "2,550,000"
    Range("E5") = "5,100,000"
    Range("E6") = "1,700,000"

End Sub

Bordersプロパティで指定したセルの範囲に罫線を引く

次のようなデータに、罫線を引く方法を説明します。

BordersプロパティのIndexの種類

Index説明Index説明
xlEdgeTop上端xlInsideHorizontal内側の行方向
xlEdgeBottom下端xlInsideVertical内側の列方向
xlEdgeLeft左端xlDiagonalDown斜線(右下→左上)
xlEdgeRight右端xlDiagonalUp斜線(左下→右上)
Sub サンプル3444_1()

  Range("B3:E6").Select

  Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
  Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
  Selection.Borders(xlInsideHorizontal).LineStyle = xlDot

  ActiveWindow.DisplayGridlines = False

End Sub

コード解説

Range(“B3:E6”).Select
’セルB3からセルE6を選択します。

Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
’上端に実線を引きます。

Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
’下端に実線を引きます。

Selection.Borders(xlInsideHorizontal).LineStyle = xlDot
’行方向に点線を引きます。

ActiveWindow.DisplayGridlines = False
’表自体の枠線を消します。

LineStyleプロパティの定数の種類

定数説明定数説明
xlLineStyleNone線なしxlDashDotDot二点鎖線
xlContinuous実線xlDot点線
xlDash破線xlDouble二重線
xlDashDot一点鎖線xlSlantDashDot斜破線
Sub サンプル3444_2()

  Range("B3:E3").Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
  Range("B4:E4").Borders(xlEdgeBottom).LineStyle = xlContinuous
  Range("B5:E5").Borders(xlEdgeBottom).LineStyle = xlDash
  Range("B6:E6").Borders(xlEdgeBottom).LineStyle = xlDashDot
  Range("B7:E7").Borders(xlEdgeBottom).LineStyle = xlDashDotDot
  Range("B8:E8").Borders(xlEdgeBottom).LineStyle = xlDot
  Range("B9:E9").Borders(xlEdgeBottom).LineStyle = xlDouble
  Range("B10:E10").Borders(xlEdgeBottom).LineStyle = xlSlantDashDot

ActiveWindow.DisplayGridlines = False

End Sub

LineStyleプロパティマクロの実行結果

セルの背景色を設定する

セルの背景色をマクロで設定する方法です。

Sub サンプル3444_3()

  Range("B3:E3").Select
  Selection.Interior.Color = RGB(144, 238, 144)

End Sub

Selection.Interior.Color = RGB(144, 238, 144)
’選択した背景をRGB関数でlightgreen(ライトグリーン)にします。

セルの文字色や背景色を設定するマクロ ことができます。
RGB関数の数値は、色見本のサイトなどで知ることができます。

セルのデータと書式クリアするマクロ

Sub セルのデータと書式クリア()

    ActiveSheet.Cells.Clear    
        
End Sub

まとめ

Bordersプロパティで、セルに罫線を引くことができます。

LineStyleプロパティで、罫線の種類を選ぶことができます。

Interior.Colorプロパティで、セルの背景色を設定することができます。

セルの文字色や背景色をColorやColorIndexで設定するマクロ
ColorIndexの番号の一覧と色の調べ方

目次