Excel VBAではセル範囲に罫線を自動設定できますが、実線だけではなく点線や破線などのスタイルも指定できます。表の区切り線だけ点線にしたい場合は、Borders.LineStyleの設定方法を理解することで柔軟にデザインできます。この記事では、VBAでセル範囲に点線の罫線を入れる方法や、特定の位置だけ変更する方法について詳しく解説します。
Excel VBAで罫線の種類を変更する基本方法
Excel VBAで罫線を設定する場合、RangeオブジェクトのBordersプロパティを使用します。例えば、セル範囲に通常の実線を設定する場合は以下のようなコードになります。
Range("F11:P17").Borders.LineStyle = xlContinuous
このxlContinuousが実線を表しています。点線に変更したい場合は、LineStyleに指定する定数を変更します。
VBAでは罫線の種類として、xlContinuous(実線)のほかにxlDot(点線)、xlDash(破線)、xlDashDot(一点鎖線)などが用意されています。
セル範囲を点線の罫線にするVBAコード
指定した範囲全体の罫線を点線に変更する場合は、以下のように記述します。
Range("F11:P17").Borders.LineStyle = xlDot
このコードを実行すると、F11からP17までの範囲に設定されている罫線が点線になります。
例えば、入力欄を区切る表や、印刷時の補助線のようなデザインにしたい場合に利用できます。
表の内部だけ点線に設定する方法
表全体ではなく、セルとセルの間の内部線だけを点線にしたい場合は、Bordersの対象を指定します。
例えば、セル内部の横線だけを点線にする場合は以下のようになります。
With Range("F11:P17").Borders(xlInsideHorizontal)
.LineStyle = xlDot
End With
同様に、縦方向の内部線だけ変更したい場合はxlInsideVerticalを使用します。
With Range("F11:P17").Borders(xlInsideVertical)
.LineStyle = xlDot
End With
このように指定することで、外枠は実線のまま、表内部だけ点線にするといった細かな設定が可能になります。
外枠と内部線で異なる罫線を設定する方法
実際の帳票では、外側を太線、内部を点線にするようなデザインもよく使われます。その場合は、それぞれのBorderオブジェクトを個別に指定します。
例として、外枠を実線、内部を点線にする場合は以下のように設定できます。
With Range("F11:P17")
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlDot
.Borders(xlInsideVertical).LineStyle = xlDot
End With
この方法を使うと、見やすい帳票や印刷用資料を作成する際に、細かな罫線デザインを自動化できます。
罫線の太さや色もVBAで変更できる
点線に変更するだけでなく、罫線の太さや色もBorderオブジェクトから指定できます。
例えば、点線を少し濃く表示したい場合は以下のようにWeightやColorを設定します。
With Range("F11:P17").Borders(xlInsideHorizontal)
.LineStyle = xlDot
.Weight = xlThin
.Color = RGB(0, 0, 0)
End With
帳票作成では、罫線の種類だけでなく、線の太さや色を組み合わせることで読みやすいレイアウトを作成できます。
まとめ
Excel VBAで点線の罫線を設定する場合は、Borders.LineStyleにxlDotを指定します。
Range("F11:P17").Borders.LineStyle = xlDot
また、表内部だけ点線にしたい場合はxlInsideHorizontalやxlInsideVerticalを使用すると、外枠と内部線を別々に設定できます。
罫線設定は単純な変更に見えますが、Borderの対象範囲を細かく指定することで、帳票や資料作成を効率化できます。VBAを活用すれば、毎回手作業で罫線を調整する必要がなくなり、統一された表作成が可能になります。

コメント