データがある部分の判定

入力されているセル全体に対して罫線を設定したいことがあります。

その際に問題になるのが、「入力されているセルの範囲」をどうやって判定するか、ということです。

詳しくは「VBAで編集セル範囲の選択と最終行と最終列の取得」に書いていますが、判定は以下のように1行で可能です。



設定する罫線の内容

上のように罫線を設定する範囲が分かればあとは罫線を設定するだけです。

ただし、どのような罫線を引くのかは好みなどがあると思いますので、ここではサンプルとして外枠を二重線、縦線(垂直線)を細線、横線(水平線)を点線で設定します。

なお、罫線には線のスタイルと太さの組み合わせには制限があります。例えば太い点線(Weight = xlThick、LineStyle = xlDot)は設定できません。「LineStyleとWeightの組み合わせ可能パターン」に詳細を書いています。


データがあるセルに罫線を設定するサンプルコード

コメントに書いていますが、外枠、垂直線、水平線のそれぞれの線のスタイル、太さ、色を変えて設定するサンプルです。

入力されているセル範囲に対して全体を外枠を囲って罫線を設定します。

実行前

実行後(分かりやすいようにグリッド線は消しています)




線の位置とスタイルと太さ

罫線の位置と線のスタイルと太さを変更したい場合は以下の定数値で変更してください。

線の位置:XlLineStyle列挙型

定数 説明
指定なし(引数省略時) なし 上下左右、水平、垂直の6つの線
xlDiagonalDown 5 右下がり斜線
xlDiagonalUp 6 右上がり斜線
xlEdgeBottom 9 下線
xlEdgeLeft 7 左線
xlEdgeRight 10 右線
xlEdgeTop 8 上線
xlInsideHorizontal 12 垂直線
xlInsideVertical 11 水平線

線のスタイル:XlLineStyle列挙型

定数 説明
xlContinuous 1 細い実線
xlDash -4115 破線
xlDashDot 4 一点鎖線
xlDashDotDot 5 二点鎖線
xlDot -4118 点線
xlDouble -4119 二重線
xlLineStyleNone -4142 なし
xlSlantDashDot -13 斜め斜線

線の太さ:XlBorderWeight列挙型

定数 内容
xlHairline 1 極細
xlThin 2
xlMedium -4138
xlThick 4