目次
概要
Excelでは、数値の見た目を整えるために「表示形式(書式)」を変更することがよくあります。特に**桁区切り(3桁ごとのカンマ)**は、金額や数量などの可読性を高めるために欠かせません。
本記事では、VBAを使ってセルに任意の表示形式をプログラムで適用する方法をご紹介いたします。作業を自動化したい方やテンプレートを整えたい方におすすめです。
サンプルコード
Sub FormatCellAsThousands()
Range("D3").NumberFormatLocal = "#,##0"
End Sub
コード解説
Range("D3")
対象となるセルを指定しています。任意のセルや範囲に変更可能です。.NumberFormatLocal
ローカルの表記形式で表示形式を設定します。日本語環境であれば"#,##0"でカンマ付きの整数形式になります。"#,##0"の意味#:数値がある場合のみ表示(先頭の0は表示されない),:3桁ごとに区切るカンマ0:必ず0を表示する桁
1234567→1,234,567
応用表示形式の例
| 表示形式 | 表示例 | 説明 |
|---|---|---|
#,##0 | 1,000 | 整数、カンマ付き |
¥#,##0 | ¥1,000 | 円マーク付きの金額表示 |
#,##0.00 | 1,000.00 | 小数第2位までの表示 |
yyyy/mm/dd | 2025/08/07 | 日付の表記形式 |
hh:mm:ss | 14:30:00 | 時刻の表記形式 |
注意点
.NumberFormatLocalを使うと、日本語環境に合わせた書式が適用されます。- 英語環境などで動作させる場合は
.NumberFormatを使用することをおすすめいたします(例:Range("D3").NumberFormat = "#,##0")。 - 既存の表示形式が不要な場合は、事前にクリアする処理を追加することも可能です。
応用例
- 金額データの表示を一括で整えるマクロ
- 印刷用の帳票作成前にレイアウトを統一する処理
- 入力直後に自動で桁区切りを付けるイベント処理(
Worksheet_Changeなど)
まとめ
本記事では、VBAを使ってExcelのセルに任意の表示形式を設定する方法について解説いたしました。NumberFormatLocal を使うことで、見た目を整えた状態で出力・印刷が可能になり、作業効率の向上にもつながります。
日々の業務において、整った表を自動で作成したい方は、ぜひ本手法を取り入れてみてください。
