本記事はエクセル2019で動作確認を行っています。

具体的なコードを教えて下さい。
本記事ではこのような疑問にお答えします。
これからVBAを学ぶ方がスムーズに学習を進められる手助けをしていきます。

エクセルの罫線はさまざなな種類が準備されていますよね。
もちろんVBAでも希望の罫線を引くことが可能です。
[ExcelVBA] セルの書式設定[罫線]
エクセルの罫線は書式設定で設定します。
シート上で右クリック>セルの書式設定>罫線
これをVBAを使用して表示させる方法を解説します。
罫線の場所の設定
(式)
オブジェクト.Borders(設定値)
場所を指定するには、Bordersプロパティを使用します。
式の設定値に下記の設定値を選択します。
内容 | 設定値 |
---|---|
上 | xlEdgeTop |
下 | xlEdgeBottom |
左 | xlEdgeLeft |
右 | xlEdgeRight |
左上から右下 | xlDiagonalDown |
左下から右上 | xlDiagonalUp |
設定範囲の横内側 | xlInsideHorizonal |
設定範囲の縦内側 | xlInsideVertical |
罫線の線と太さ
罫線にはいろんな種類の線や太さが準備されています。
線の種類を設定するには、
(式)
オブジェクト.Borders(設定値).LineStyle=設定値
線の太さを設定するには、
(式)
オブジェクト.Borders(設定値).Weight=設定値
のようにLineStyleプロパティやWeightプロパティを使用します。
セルの書式設定を例に記述方法を見ていきましょう。
sub 罫線の種類() Range("A1").Borders(xlDiagonalUp).LineStyle = xlLineStyleNone '① With Range("A2").Borders(xlDiagonalUp) '② .LineStyle = xlContinuous .Weight = xlHairline End With With Range("A3").Borders(xlDiagonalUp) '③ .LineStyle = xlDot .Weight = xlThin End With With Range("A4").Borders(xlDiagonalUp) '④ .LineStyle = xlDashDotDot .Weight = xlThin End With With Range("A5").Borders(xlDiagonalUp) '⑤ .LineStyle = xlDashDot .Weight = xlThin End With With Range("A6").Borders(xlDiagonalUp) '⑥ .LineStyle = xlDash .Weight = xlThin End With With Range("A7").Borders(xlDiagonalUp) '⑦ .LineStyle = xlContinuous .Weight = xlThin End With With Range("A8").Borders(xlDiagonalUp) '⑧ .LineStyle = xlDashDotDot .Weight = xlMedium End With With Range("A9").Borders(xlDiagonalUp) '⑨ .LineStyle = xlSlantDashDot .Weight = xlMedium End With With Range("A10").Borders(xlDiagonalUp) '⑩ .LineStyle = xlDashDot .Weight = xlMedium End With With Range("A11").Borders(xlDiagonalUp) '⑪ .LineStyle = xlDash .Weight = xlMedium End With With Range("A12").Borders(xlDiagonalUp) '⑫ .LineStyle = xlContinuous .Weight = xlMedium End With With Range("A13").Borders(xlDiagonalUp) '⑬ .LineStyle = xlContinuous .Weight = xlThick End With With Range("A14").Borders(xlDiagonalUp) '⑭ .LineStyle = xlDouble .Weight = xlThick End With End Sub
<実行結果>
ポイント
①のxlLineStyleNone は罫線を消したいときに範囲を指定して使うとOKです。
罫線の色
罫線の色を設定するには、
(式)
オブジェクト.Borders(設定値).Color=設定値
オブジェクト.Borders(設定値).ColorIndex=設定値
オブジェクト.Borders(設定値).ThemeColor=設定値
を使用します。
いろんな罫線の引き方
これまでは一本の線の引き方を見てきました。
・選択範囲の周りを囲む
・格子状に線を引く
上記の方法も見ていきます。
選択範囲の周りを囲む
(式)
オブジェクト.BorderAround(LineStyle,Weight,Color,ColoIndex,ThemeColor)
罫線の種類や太さ、色を引数に設定し、BorderAroundメソッドを使用することで、選択範囲の周りを囲むことができます。
格子状に線を引く
罫線の場所の設定をせずに、セル範囲を指定することで、格子状に線を引くことができます。
(例)
Range(Cells(1, 1), Cells(5, 5)).Borders.LineStyle = xlContinuous
普通の罫線はBordersプロパティの後ろに場所を設定していました。
範囲を指定した場合はBordersプロパティの後ろに設定値を指定する必要はありません。
まとめ
今回は罫線のいろいろな記述方法を見てきました。
エクセルのセルの書式設定には他にも、
もVBAで操作可能ですので、あわせて知っておきましょう。
最後まで目を通していただきありがとうございます。