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

スポンサーリンク
スポンサーリンク

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

セルに入力されているデータの表示形式は
「セルの書式設定」ダイアログボックスの
「表示形式」タブで設定します。
VBAで表示形式を変更するには
Rangeオブジェクトの
NumberFormatLocal【ナンバーフォーマットローカル】プロパティを使用します。



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

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

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

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


設定値の説明

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

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

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

数値の書式記号

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

書式記号内容表示形式数値表示結果
#1桁を表します。##.##123.456123.46
##0表示なし
01桁を表します。0000.0123.456123.5
00000
,
(カンマ)
3桁ごとの区切り
または1000単位の省略
#,##05555555555,555,555
#,##0,55,556
.
(ピリオド)
小数点0.012.3412.3
%パーセント0.0%0.234523.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/PM4 PM
時:分AM/PM(12時間)h:mmAM/PM4:05 PM
時:分:秒A/P(12時間)h:mm:ssA/P4: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プロパティ
についての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク