目次
概要
Excelでは、セルに罫線を引くことで表の構造を明確にできます。特に、外枠・内側・上下左右など、細かい部分ごとに罫線を個別設定したい場面は多くあります。
本記事では、VBAを使ってセルの罫線を細かく設定・取得する方法をご紹介いたします。さらに、Excelのグリッド線を非表示にする方法も合わせて解説いたします。
サンプルコード
vbコピーする編集するSub SetDetailedCellBorders()
Dim targetRange As Range
Set targetRange = Range("E3:G6")
' 上端の罫線を中太の実線に設定
With targetRange.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
' 下端の罫線を中太の実線に設定
With targetRange.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
' 内側の横方向の罫線を点線に設定
targetRange.Borders(xlInsideHorizontal).LineStyle = xlDot
' グリッド線を非表示にする(視認性向上)
ActiveWindow.DisplayGridlines = False
End Sub
コード解説
.Borders(xlEdgeTop)
/ .Borders(xlEdgeBottom)
- 範囲の上端・下端に罫線を設定します。
LineStyle
にxlContinuous
(実線)、Weight
にxlMedium
(中太)を指定しています。
.Borders(xlInsideHorizontal)
- セル範囲の内側の横方向の罫線に対して
xlDot
(点線)を適用しています。 - 縦方向は
.Borders(xlInsideVertical)
で制御可能です。
ActiveWindow.DisplayGridlines = False
- Excelのグリッド線を非表示にします。独自に引いた罫線だけが表示されるため、より見やすくなります。
利用可能な罫線の位置(定数一覧)
定数名 | 対象範囲 |
---|---|
xlEdgeTop | 範囲の上端 |
xlEdgeBottom | 範囲の下端 |
xlEdgeLeft | 範囲の左端 |
xlEdgeRight | 範囲の右端 |
xlInsideHorizontal | 範囲内の横罫線 |
xlInsideVertical | 範囲内の縦罫線 |
表示スタイル(LineStyle)と太さ(Weight)の例
LineStyle | 内容 |
---|---|
xlContinuous | 実線 |
xlDot | 点線 |
xlDash | 破線 |
Weight | 内容 |
---|---|
xlThin | 細線 |
xlMedium | 中太線 |
xlThick | 太線 |
応用例
- 印刷向けの表のデザインを整える
- 入力フォームで入力欄とラベルを視覚的に区別する
- 条件に応じて罫線スタイルを動的に切り替える
まとめ
本記事では、VBAでセルの罫線を細かく設定・取得する方法をご紹介いたしました。Borders
プロパティを使えば、外枠・内側・上下左右など、あらゆる部分の罫線を柔軟にコントロールできます。
罫線の活用により、Excelの表がより明確で視認性の高いものになります。特にレポート作成や帳票整形の場面で、ぜひご活用ください。