VBAでセルの書式を設定する方法についてご説明します。
日付や数値を表現する際、Formatを使用すると実に様々な表示形式を設定することができます。
それでは具体的な設定方法について確認してみましょう。

構文例

Range(書式を設定するセル) = Format(値, “書式設定")

まず書式を設定したいセルをRange(Cellでも可)で指定し、=の後にFormat関数で表現したい値を、
カンマの後に書式設定を指定します。ちなみに書式設定はダブルクォートで囲むという点に注意しましょう。

数値に関する書式設定

<コード>

Range("D4") = Format(Range("C4"), "#,##0") '3桁カンマ区切り’
    Range("D5") = Format(Range("C5"), "##0.00") '小数点以下の桁数を設定’
    Range("D6") = Format(Range("C6"), "Percent") 'パーセント表示’

<実行例>

① は数値を3桁ごとにカンマ区切りで表現します。
② は小数点以下の桁数を指定する方法です。例では小数点以下第3位まで数値が入っているため、
小数点以下第2位までに丸められています。
③ は数値をパーセントに変換します。元の数値が100倍になり%の単位で表示されています。

文字列に関する書式設定

<コード>

Range("D4") = Format(Range("C4"), "<") '小文字へ変換’
    Range("D5") = Format(Range("C5"), ">") '大文字へ変換’

<実行例>

① は『<』を使用して文字列を全て小文字に変換しています。
逆に②の様に文字列を全て大文字に変換する場合は『>』を使用します。

日付に関する書式設定

<コード>

    Range("D4") = Format(Range("C4"), "YYYY/MM/DD") '西暦で表示’
     Range("D5") = Format(Range("C5"), "ggge年m月d日") '和暦で表示’

<実行例>

① は日付をスラッシュで区切った西暦で表示しています。YYYYが年、MMが月、DDが日付にそれぞれ対応しています。
② は同じ日付を和暦で表示しています。元号を「平成〇〇年」という風に表示する場合は“ggge”と表記します。

数値を文字列形式で表示する方法

電話番号や口座番号など、0で始まる数値をセルに入力したいのに0が消えてしまったということがよくあると思います。
これは、Excelがデフォルトで全て数字が入っているセルは数値扱いとし、先頭の0を非表示にしてしまうことによるものです。
こういう場合は下記の様にセルの表示形式を文字列にすることで解決します。
<コード>

    Range("C4") = "012345" '数値扱いとなり、先頭の0が非表示になる’
    Range("D4").NumberFormatLocal = "@"	‘セルの表示形式を文字列に設定’
    Range("D4") = "012345" '文字列扱いとなり、先頭の0が表示される’

<実行例>

なお、数値の桁数が決まっており余っている桁数分は0で埋めたい場合は以下のように指定します。
Format関数を使用する前にNumberFormatLocalでセルの表示形式を文字列にしておくことがポイントです。
<コード>

Range("D4:D6").NumberFormatLocal = "@"
     Range("D4") = Format(Range("C4"), "0000") '4桁で表示(0埋め)’
     Range("D5") = Format(Range("C5"), "00000") '5桁で表示(0埋め)’
    Range("D6") = Format(Range("C6"), "000000") '6桁で表示(0埋め)’

<実行例>

まとめ

いかがでしたか。頻繁に使用する書式設定を中心にご紹介しましたが、もちろんこれ以外にも様々な表示形式が設定できます。
Format関数を使用すると統一感があり、見栄えの良いシートを作成することができるのでぜひ活用してみてください。