VBA 罫線を引く
In this Article
このチュートリアルでは、VBAでセルの罫線(境界線)を設定する方法を紹介します。
罫線の書式設定
上部の境界線 – 二重線
まず、Sheet1のセルB3に青くて太い二重の上枠を設定する例を見てみましょう。
Sub ExampleSetBorder()
With Worksheets("Sheet1").Range("B3").Borders(xlEdgeTop)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 5
End With
End Sub
コードを簡単にするために、Withステートメントを使用していることに注意してください。
.Borders(xlEdgeTop)で上部のボーダーにアクセスします。
他のセル境界線
対角線を含む他のボーダーにアクセスすることもできます。
Worksheets("Sheet1").Range("B2").Borders(xlEdgeTop).Color = RGB(128, 0, 0)
Worksheets("Sheet1").Range("B2").Borders(xlEdgeRight).Color = RGB(0, 255, 0)
Worksheets("Sheet1").Range("B2").Borders(xlEdgeBottom).Color = RGB(0, 0, 128)
Worksheets("Sheet1").Range("B2").Borders(xlEdgeLeft).Color = RGB(255, 0, 0)
Worksheets("Sheet1").Range("B2").Borders(xlDiagonalDown).Color = RGB(0, 0, 0)
Worksheets("Sheet1").Range("B2").Borders(xlDiagonalUp).Color = RGB(0, 0, 0)
内側の境界線
また、範囲内のすべてのセルの水平(xlInsideHorizontal)および垂直(xlInsideVertical)ボーダーを調整することができます。
With Worksheets("Sheet1").Range("B2:C6").Borders(xlInsideHorizontal)
.LineStyle = xlDashDotDot
.Weight = xlMedium
.ColorIndex = 3
End With
LineStyle
LineStyleプロパティは、xlContinuous、xlDot、xlDash、xlDashDot、xlDashDotDot、xlDouble、xlSlantDashDot、xlLineStyleNoneに変更することが可能です。
Weight プロパティは、xlHariline、xlThin、xlMedium、xlThick のいずれかになります。以下のコードでは、このような結果になります。
Worksheets("Sheet1").Range("C3").Borders(xlEdgeTop).Weight = xlHairline
Worksheets("Sheet1").Range("C3").Borders(xlEdgeBottom).Weight = xlHairline
Worksheets("Sheet1").Range("D3").Borders(xlEdgeTop).Weight = xlThin
Worksheets("Sheet1").Range("D3").Borders(xlEdgeBottom).Weight = xlThin
Worksheets("Sheet1").Range("E3").Borders(xlEdgeTop).Weight = xlMedium
Worksheets("Sheet1").Range("E3").Borders(xlEdgeBottom).Weight = xlMedium
Worksheets("Sheet1").Range("F3").Borders(xlEdgeTop).Weight = xlThick
Worksheets("Sheet1").Range("F3").Borders(xlEdgeBottom).Weight = xlThick
ボーダーカラーは、ColorIndexまたはColor(RGB、数値、vbColor定数)で設定できます。色の設定について詳しくはこちらをご覧ください。
1行のコマンドでも、範囲を囲むボーダーを追加することができます。
Range("B5:C7").BorderAround LineStyle:=xlContinuous, Weight:=xlThick, Color:=vbRed