Excel VBAの覚え書([セルの書式設定]-[表示形式]編)
■[セルの書式設定]-[表示形式]に対応する、Rangeオブジェクトのプロパティ
本稿では、Excel VBAで[セルの書式設定]-[表示形式]に対応する操作を行う場合に使用する、Rangeオブジェクトのプロパティを紹介します。

「表示形式」に関するプロパティ
「表示形式」に関するプロパティは、下表の通りです。
(「表示形式」に関するプロパティ)
| NumberFormatプロパティ | |||||||||||
| 説明 | 英語表記用の[表示形式]を表す値を設定/取得 | ||||||||||
| 定義 | Property NumberFormat As Variant | ||||||||||
| NumberFormatLocalプロパティ | |||||||||||
| 説明 | 日本語表記用の[表示形式]を表す値を設定/取得 | ||||||||||
| 定義 | Property NumberFormatLocal As Variant | ||||||||||
(表示形式に『標準』を設定する例)
- Range.NumberFormat = “General"
- Range.NumberFormatLocal = “G/標準"
「表示形式」の書式および書式記号
NumberFormatLocalプロパティに指定可能な表示形式コードは、下図のように4つのセクションまで指定できますが、1つだけ指定した場合は全ての値に適用されます。
(表示形式コードの書式)
- Range.NumberFormatLocal = “セクション1[;セクション2][;セクション3][;セクション4]"
- セクション1:正の数の表示形式
セクション2:負の数の表示形式
セクション3:ゼロの表示形式
セクション4:テキストの表示形式
使用可能な書式記号は多岐に亘りますが、利用頻度が高いと考えられるものを抜粋すると、下表の通りです。
⇒詳細はMicrosoftのサイト(表示形式の書式記号)を参照して下さい。
(主な書式記号)
| 分類 | 書式記号 | 説明 |
|---|---|---|
| 数値 | 0(数字のゼロ) | 1桁の数字を表示(ゼロを表示する) |
| #(シャープ) | 1桁の数字を表示(ゼロを表示しない) | |
| \(通貨記号) | 通貨記号を表示 | |
| -(マイナス) | 符号を表示 | |
| ,(カンマ) | 3桁区切りを表示 | |
| .(ピリオド) | 小数点を表示 | |
| %(パーセント) | パーセントを表示 | |
| ?(疑問符) | 整数部と小数部の余分なゼロをスペースで表示 | |
| _(アンダーバー) | 桁揃え用に間隔を空ける | |
| 日付 | yyyy | 西暦年を4桁で表示 |
| yy | 西暦年を2桁で表示 | |
| mm | 月を2桁で表示 | |
| m | 月を1桁で表示 | |
| dd | 日を2桁で表示 | |
| d | 日を1桁で表示 | |
| ggg | 元号を漢字2桁で表示 | |
| gg | 元号を漢字1桁で表示 | |
| g | 元号を英字1桁で表示 | |
| ee | 和暦年を2桁で表示 | |
| e | 和暦年を1桁で表示 | |
| dddd | 曜日を英語で表示 | |
| ddd | 曜日を英語の頭文字3桁で表示 | |
| aaaa | 曜日を漢字で表示 | |
| aaa | 曜日を漢字の頭文字1桁で表示 | |
| 時刻 | hh | 時を2桁で表示 |
| h | 時を1桁で表示 | |
| mm | 分を2桁で表示 | |
| m | 分を1桁で表示 | |
| ss | 秒を2桁で表示 | |
| s | 秒を1桁で表示 | |
| AM/PM | AM/PMを表示 | |
| [h] | 24時を超える時を表示 | |
| [m] | 60分を超える分を表示 | |
| [s] | 60秒を超える秒を表示 | |
| h時m分s秒 | 時分秒で表示 | |
| その他 | G/標準 | 数値をそのまま表示(セルに初期設定された書式) |
| “(二重引用符) | 「"」で囲まれた文字列をそのまま表示 | |
| @(アットマーク) | 入力値を文字列としてそのまま表示 | |
| *(アスタリスク) | 直後の文字を繰り返す | |
| [色] | 色を指定する
(※)色は「黒」「赤」「青」「緑」「黄」「紫」「水」「白」を使用可。 |
|
| [条件式] | 条件式を指定する
(※)比較演算子は「<」「>」「=」「>=」「<=」「<>」を使用可。 |
「表示形式」の設定例
表示形式の書式記号は意外とわかり難いので、Excelの[セルの書式設定]-[表示形式]から手操作で設定する書式と同じ内容を、Excel VBAからNumberFormatLocalプロパティで指定するとどうなるか、主要な設定値を一覧表にしておきます。
(NumberFormatLocalプロパティの設定例)
| 分類 | [表示形式]の指定 | NumberFormatLocalプロパティの設定値 |
|---|---|---|
| 数値 | 小数点以下2桁 | “##0.00" |
| 桁区切りを使用 | “#,##0" | |
| (1234) | “0.0_);[赤](0.0)" | |
| (1234) | “0.0_);(0.0)" | |
| 1234 | “0;[赤]0" | |
| -1234 | “0_ “ | |
| -1234 | “0_ ;[赤]-0 “ | |
| △1234 | “0;""△ “"0" | |
| ▲1234 | “0;""▲ “"0" | |
| 通貨 | (¥1234) | “\#,##0_);[赤](\#,##0)" |
| (¥1234) | “\#,##0_);(\#,##0)" | |
| \1234 | “\#,##0;[赤]\#,##0" | |
| \-1234 | “\#,##0;\-#,##0" | |
| \-1234 | “\#,##0;[赤]\-#,##0" | |
| 日付 | 2012年3月14日 | “yyyy""年""m""月""d""日"";@" |
| 2012年3月 | “yyyy""年""m""月"";@" | |
| 3月14日 | “m""月""d""日"";@" | |
| 2012/3/14 | “yyyy/m/d;@" | |
| 3/14 | “m/d;@" | |
| 3/14/12 | “m/d/yy;@" | |
| 03/14/12 | “mm/dd/yy;@" | |
| 時刻 | 13:30 | “h:mm;@" |
| 1:30 PM | “h:mm AM/PM;@" | |
| 13:30:55 | “h:mm:ss;@" | |
| 1:30:55 PM | “h:mm:ss AM/PM;@" | |
| 2012/3/14 1:30 PM | “yyyy/m/d h:mm AM/PM;@" | |
| 2012/3/14 13:30 | “yyyy/m/d h:mm;@" | |
| 13時30分 | “h""時""mm""分"";@" | |
| 13時30分55秒 | “h""時""mm""分""ss""秒"";@" |
国本温子(著),緑川吉行(著),できるシリーズ編集部(著)
出版社:インプレス
発売日:2022/3/23
単行本(ソフトカバー):A5判/912ページ
出版社:インプレス
発売日:2022/3/23
単行本(ソフトカバー):A5判/912ページ
大村あつし(著),古川順平(著)
出版社:技術評論社
発売日:2021/1/9
単行本(ソフトカバー):A5判/800ページ
出版社:技術評論社
発売日:2021/1/9
単行本(ソフトカバー):A5判/800ページ
高橋宣成(著)
出版社:技術評論社
発売日:2019/11/25
単行本(ソフトカバー):B5変形判/576ページ
出版社:技術評論社
発売日:2019/11/25
単行本(ソフトカバー):B5変形判/576ページ





ディスカッション
コメント一覧
まだ、コメントがありません