Excel VBA セルの表示形式を設定するNumberFormatLocalプロパティ

スポンサーリンク

セルに表示形式を設定する方法

セルに入力されているデータの表示形式は、「セルの書式設定」ダイアログボックスの「表示形式」タブで設定します。

VBAで表示形式を変更するには、Range【レンジ】オブジェクトのNumberFormatLocal【ナンバーフォーマットローカル】プロパティを使用します。



NumberFormatLocal【ナンバーフォーマットローカル】プロパティ

指定したセルの表示形式を取得または、設定するには、Range【レンジ】オブジェクトのNumberFormatLocal【ナンバーフォーマットローカル】プロパティを使用します。

NumberFormatLocal【ナンバーフォーマットローカル】プロパティの書式と設定値

【取得】
オブジェクト.NumberFormatLocal
【戻り値】バリアント型 (Variant)
【設定】
オブジェクト.NumberFormatLocal = 表示形式

  • オブジェクト(必須)
    表示形式を設定したいセル範囲をRangeオブジェクトで指定します。
  • 表示形式(必須)
    セルに設定する表示形式を、定義済み書式または、書式記号を使用して文字列で指定します。

表示形式で使用する主な書式記号の一覧

NumberFormatLocal【ナンバーフォーマットローカル】プロパティで設定する表示形式で使用する書式記号には、「数値」「日付」「時刻」「文字列」のそれぞれについて使用する記号が用意されています。

数値の書式記号

数値の書式記号は「#」と「0」で数字の1桁を表し
「,」で桁区切り「.」で小数点を表します。

書式記号 内容 表示形式 数値 表示結果
# 1桁を表します。 ##.## 123.456 123.46
## 0 表示なし
0 1桁を表します。 0000.0 123.456 123.5
00 0 00
,
(カンマ)
3桁ごとの区切り
または1000単位の省略
#,##0 55555555 55,555,555
#,##0, 55,556
.
(ピリオド)
小数点 0.0 12.34 12.3
% パーセント 0.0% 0.2345 23.5%
? 小数点位置を揃える ???.??? 123.45
12.345
123.45
_12.345

数値の書式記号のコード例

Sub 数値書式記号()
Range("A1").NumberFormatLocal = "##.##"
Range("A2").NumberFormatLocal = "##"
Range("A3").NumberFormatLocal = "0000.0"
Range("A4").NumberFormatLocal = "00"
Range("A5").NumberFormatLocal = "#,##0"
Range("A6").NumberFormatLocal = "#,##0,"
Range("A7").NumberFormatLocal = "0.0"
Range("A8").NumberFormatLocal = "0.0%"
Range("A9").NumberFormatLocal = "???.???"
Range("A10").NumberFormatLocal = "???.???"
Range("A1").Value = 123.456
Range("A2").Value = 0
Range("A3").Value = 123.456
Range("A4").Value = 0
Range("A5").Value = 55555555
Range("A6").Value = 55555555
Range("A7").Value = 12.34
Range("A8").Value = 0.2345
Range("A9").Value = 123.456
Range("A10").Value = 12.3456
End Sub

実行結果


※「#」と「0」はどちらとも数字の1桁を表しますが「#」の場合は表示形式で指定した桁数よりも実際の桁数が少ない場合はそのまま表示されます。「0」の場合は桁数が少ない分だけ0が補われます。また、表示形式より桁数が多い場合はともに、整数の場合はそのまま数値が表示され小数点以下の場合は、指定した桁数に合わせて四捨五入された値が表示されます。


日付の書式記号

日付の表示形式は「y」「m」「d」などの記号を組み合わせて設定すます。

内容 書式記号 表示結果(1990/1/1)
西暦 yy
yyyy
90
1990
和号 g
gg
ggg
H

平成
和暦 e
ee
2
02
m
mm
mmm
mmmm
1
01
Jan
January
d
dd
1
01
曜日 ddd
dddd
aaa
aaaa
Mon
Monday

月曜日

※日付の書式記号に文字列を組み合わせるには、「m””月””」や「d””日””」のように書式記号と””で囲んだ文字列を組み合わせると「1月」「1日」のように表示することができます。

日付の書式記号のコード例

Sub 日付書式記号()
Range("A1").NumberFormatLocal = "yy"
Range("A2").NumberFormatLocal = "yyyy"
Range("A3").NumberFormatLocal = "g"
Range("A4").NumberFormatLocal = "gg"
Range("A5").NumberFormatLocal = "ggg"
Range("A6").NumberFormatLocal = "e"
Range("A7").NumberFormatLocal = "ee"
Range("A8").NumberFormatLocal = "m"
Range("A9").NumberFormatLocal = "mm"
Range("A10").NumberFormatLocal = "mmm"
Range("A11").NumberFormatLocal = "mmmm"
Range("A12").NumberFormatLocal = "d"
Range("A13").NumberFormatLocal = "dd"
Range("A14").NumberFormatLocal = "ddd"
Range("A15").NumberFormatLocal = "dddd"
Range("A16").NumberFormatLocal = "aaa"
Range("A17").NumberFormatLocal = "aaaa"
Range("A1:A17").Value = "1990 / 1 / 1"
End Sub

実行結果


時刻の書式記号

時刻の書式形式は「h」「m」「s」の記号を使用して設定します。

内容 書式記号 表示結果(16時5分30秒)
時(24時間) h
hh
16
16
分(hやsとともに使用) m
mm
16:5(h:mの場合)
16:05(hh:mmの場合)
s
ss
16:5:30(h:m:sの場合)
16:05:30(hh:mm:ssの場合)
時AM/PM(12時間) hAM/PM 4 PM
時:分AM/PM(12時間) h:mmAM/PM 4:05 PM
時:分:秒A/P(12時間) h:mm:ssA/P 4:05:30 P

※経過時間(24時間以上)を表示する場合は「[hh]:mm」のように[]で囲みます。
経過分(60分以上)を表示する場合は[mm]:ss
経過秒(60秒以上)を表示する場合は[ss]

時刻の書式記号のコード例

Sub 時刻書式記号()
Range("A1").NumberFormatLocal = "h"
Range("A2").NumberFormatLocal = "hh"
Range("A3").NumberFormatLocal = "h:m"
Range("A4").NumberFormatLocal = "hh:mm"
Range("A5").NumberFormatLocal = "h:m:s"
Range("A6").NumberFormatLocal = "hh:mm:ss"
Range("A7").NumberFormatLocal = "hAM/PM"
Range("A8").NumberFormatLocal = "h:mmAM/PM"
Range("A9").NumberFormatLocal = "h:mm:ssA/P"
Range("A1:A9").Value = "16:05:30"
End Sub

実行結果


文字やそのほかの書式記号

書式記号 内容 使用例 表示結果
@ 入力した文字列 @””様”” 山田太郎様
[黒][赤][青][緑][黄][紫][水][白] 文字の色 ¥#,##0;[赤]¥-#,##0 ¥-1,500
¥#,##0;[赤]¥-#,##0 通貨 1500 ¥1,500

文字列そのたの書式のコード例

Sub 文字その他書式記号()
Range("A1").NumberFormatLocal = "@""様"""
Range("A2").NumberFormatLocal = "¥#,##0;[赤]¥-#,##0"
Range("A3").NumberFormatLocal = "¥#,##0;[赤]¥-#,##0"
Range("A1").Value = "山田太郎"
Range("A2").Value = -1500
Range("A3").Value = 1500
End Sub

実行結果


表示形式を元(標準)に戻す方法

選択セル範囲に対してNumberFormatLocal【ナンバーフォーマットローカル】プロパティに「”G/標準”」を設定します。


以上で、セルの表示形式を設定するNumberFormatLocal【ナンバーフォマットローカル】プロパティについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告