セルの書式設定(セル書式)

セルに表示させる数値、文字列等の情報を見やすくするための設定をVBAによって定義する方法を記します。

1.表示形式

NumberFormatLocalプロパティを使うことでセルの表示形式を設定できることができます。代表的な構文はこちら。

Cells(1,1).NumberFormatLocal = "(表示形式)"

表示形式は下表を参考に設定してください。

データ形式説明
数値”0”標準
“0.00”小数点以下第2位まで表示
“#,##0”千単位で区切り記号を付ける
通貨”\#,##0”千円単位で区切り記号を付ける
“#,##0;[赤]-#,##0”上記+負の場合は赤字で表記
日付“yyyy/mm/dd”年月日
“mm/dd”月日
時刻”hh:mm:ss”時分秒
“mm:ss”分秒
パーセンテージ“0%”小数点以下の桁数ゼロ
“0.00%”小数点以下の桁数2

2.セルへの着色

Interiorプロパティを使うことでセルに色を付けることができます。色の指定は主要3色(red, green, blue)の強さを256諧調で定義するRGB関数で記述します。

Cells(1, 1).Interior.Color = RGB(red, green, blue)

RGBの色見本としては下記サイトが参考になると思います。

https://www.webcreatorbox.com/blog/color-name

RGB諧調指定ではなく、ColorIndexで定義する方法も有効です。

Cells(1, 1).Interior.ColorIndex = (インデックス)

色のインデックスは1~2桁の数値で記述します。具体的な色見本は下記のとおりです。

3.罫線の設定

セルに罫線を引く場合も多いと思います。罫線を指定するコマンドはBordersプロパティで、罫線を引く場所と罫線の種類を下記の構文で記述します。

Cells(1, 1).Borders(罫線を引く場所).LineStyle = (罫線の種類)

罫線を引く場所は下表を参考に指定します。

定数値罫線を引く場所
xlEdgeTopセルの上
xlEdgeBottomセルの下
xlEdgeRightセルの右
xlEdgeLeftセルの左
xlInsideHorizontalセル範囲内の水平境界
xlInsideVerticaセル範囲内の垂直境界
xlDiagonalDownセル右上から左下への斜線
xlDiagonalUpセル左上から右下への斜線

罫線の書式設定は下記を参考に指定します。

定数値罫線の種類
xlNone線なし
xlContinuous実線
xlDash破線
xlDashDot一点鎖線
xlDashDotDot二点鎖線
xlDot点線
xlDouble二重線

セル範囲を選択し、セル範囲の外枠を一周にわたって罫線を引く場合はBorderAroundメソッドを使用します。

Range(セル範囲).BorderAround.LineStyle: = (罫線の種類)

セル範囲の内部境界の全てに罫線を引く場合は、下記のような構文を用います。

Range(セル範囲).Borders.LineStyle: = (罫線の種類)

4.Withを使った書式設定構文

上記設定を個別に記述するとコードが冗長になるのでWithステートメントを使って記述する場合が多いです。

'セル範囲((1,1),(5,5))に対して緑色に着色し、セル範囲内の境界全てに実線の罫線を引く

With Range(Cells(1, 1), Cells(5, 5))

.Interior.ColorIndex = 4
.Borders.LineStyle = xlContinuous

End With

以上、セルの書式設定で使われる代表的なコードをまとめてみました。上記を理解していれば大体の用途はカバーできると思います。

コメントする