VBAでセルに表示形式を設定する方法【桁区切りなどを自動で適用】

目次

概要

Excelでは、数値の見た目を整えるために「表示形式(書式)」を変更することがよくあります。特に**桁区切り(3桁ごとのカンマ)**は、金額や数量などの可読性を高めるために欠かせません。

本記事では、VBAを使ってセルに任意の表示形式をプログラムで適用する方法をご紹介いたします。作業を自動化したい方やテンプレートを整えたい方におすすめです。

サンプルコード

Sub FormatCellAsThousands()

    Range("D3").NumberFormatLocal = "#,##0"

End Sub

コード解説

  • Range("D3")
    対象となるセルを指定しています。任意のセルや範囲に変更可能です。
  • .NumberFormatLocal
    ローカルの表記形式で表示形式を設定します。日本語環境であれば "#,##0"カンマ付きの整数形式になります。
  • "#,##0" の意味
    • #:数値がある場合のみ表示(先頭の0は表示されない)
    • ,:3桁ごとに区切るカンマ
    • 0:必ず0を表示する桁
    例:12345671,234,567

応用表示形式の例

表示形式表示例説明
#,##01,000整数、カンマ付き
¥#,##0¥1,000円マーク付きの金額表示
#,##0.001,000.00小数第2位までの表示
yyyy/mm/dd2025/08/07日付の表記形式
hh:mm:ss14:30:00時刻の表記形式

注意点

  • .NumberFormatLocal を使うと、日本語環境に合わせた書式が適用されます。
  • 英語環境などで動作させる場合は .NumberFormat を使用することをおすすめいたします(例:Range("D3").NumberFormat = "#,##0")。
  • 既存の表示形式が不要な場合は、事前にクリアする処理を追加することも可能です。

応用例

  • 金額データの表示を一括で整えるマクロ
  • 印刷用の帳票作成前にレイアウトを統一する処理
  • 入力直後に自動で桁区切りを付けるイベント処理(Worksheet_Changeなど)

まとめ

本記事では、VBAを使ってExcelのセルに任意の表示形式を設定する方法について解説いたしました。NumberFormatLocal を使うことで、見た目を整えた状態で出力・印刷が可能になり、作業効率の向上にもつながります。

日々の業務において、整った表を自動で作成したい方は、ぜひ本手法を取り入れてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次