数値や日付を指定の形式に変換するには、Format関数を使います。
また、システム設定に依存する書式もあります。
コントロールパネルから”地域と言語”を確認してみて下さい。
定義済みの日付および時間の書式
書式名 | 結果 | 説明 |
---|---|---|
General Date | 2010/04/05 6:09:01 | 日付と時刻 |
Long Date | 2010年4月5日 | 日付(長い形式) ※システム設定に依存 |
Medium Date | 10-04-05 | ハイフン区切り |
Short Date | 2010/04/05 | 日付(短い形式) ※システム設定に依存 |
Long Time | 6:09:01 | 時刻(長い形式) ※システム設定に依存 |
Medium Time | 06:09 午前 | 時分と午前・午後 |
Short Time | 06:09 | 時刻(短い形式) ※システム設定に依存 |
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Sample5_8_1() Dim dt As Date dt = Now Cells(2, 2).Value = Format(dt, "General Date") ' 日付と時刻 Cells(3, 2).Value = Format(dt, "Long Date") ' 日付(長い形式) Cells(4, 2).Value = Format(dt, "Medium Date") ' ハイフン区切り Cells(5, 2).Value = Format(dt, "Short Date") ' 日付(短い形式) Cells(6, 2).Value = Format(dt, "Long Time") ' 時刻(長い形式) Cells(7, 2).Value = Format(dt, "Medium Time") ' 時分と午前・午後 Cells(8, 2).Value = Format(dt, "Short Time") ' 時刻(短い形式) End Sub |
実行結果
ユーザー定義に使用できる日付・時刻書式
書式指定式 | コード | 得られる結果 | 説明 |
---|---|---|---|
d | Format(Now, “d”) | 5 | 日(前に0を付けない数値) |
dd | Format(Now, “dd”) | 05 | 日(前に0を付けた数値) |
ddd | Format(Now, “ddd”) | Mon | 曜日(省略形) |
dddd | Format(Now, “dddd”) | Monday | 曜日 |
ddddd | Format(Now, “ddddd”) | 2010/04/05 | 日付(短い形式) ※システム設定に依存 |
dddddd | Format(Now, “dddddd”) | 2010年4月5日 | 日付(長い形式) ※システム設定に依存 |
aaaa | Format(Now, “aaaa”) | 月曜日 | 曜日(日本語) |
w | Format(Now, “w”) | 2 | 曜日(1:日曜日 ~ 7:土曜日) |
ww | Format(Now, “ww”) | 15 | 1 年の何週目か |
m | Format(Now, “m”) | 4 | 月(前に0を付けない数値) (h、hhの直後の場合は分) |
mm | Format(Now, “mm”) | 04 | 月(前に0を付けた数値) (h、hhの直後の場合は分) |
mmm | Format(Now, “mmm”) | Apr | 月名(省略形) |
mmmm | Format(Now, “mmmm”) | April | 月名 |
oooo | Format(Now, “oooo”) | 4月 | 月名(日本語) |
q | Format(Now, “q”) | 2 | 四半期 |
y | Format(Now, “y”) | 95 | 1 年の何日目か |
yy | Format(Now, “yy”) | 10 | 西暦(下2桁) |
yyyy | Format(Now, “yyyy”) | 2010 | 西暦 |
ggg | Format(Now, “ggg”) | 平成 | 元号 |
e | Format(Now, “e”) | 22 | 和暦 |
h | Format(Now, “h”) | 6 | 時(前に0を付けない数値) |
Hh | Format(Now, “Hh”) | 06 | 時(前に0を付けた数値) |
N | Format(Now, “N”) | 9 | 分(前に0を付けない数値) |
Nn | Format(Now, “Nn”) | 09 | 分(前に0を付けた数値) |
S | Format(Now, “S”) | 1 | 秒(前に0を付けない数値) |
Ss | Format(Now, “Ss”) | 01 | 秒(前に0を付けた数値) |
ttttt | Format(Now, “ttttt”) | 6:09:01 | 時刻(長い形式) ※システム設定に依存 |
AM/PM | Format(Now, “AM/PM”) | AM | 午前をAM、午後をPM |
am/pm | Format(Now, “am/pm”) | am | 午前をam、午後をpm |
A/P | Format(Now, “A/P”) | A | 午前をA、午後をP |
a/p | Format(Now, “a/p”) | a | 午前をa、午後をp |
AMPM | Format(Now, “AMPM”) | 午前 | 日本語 ※システム設定に依存 |
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Sub Sample5_8_2() Dim dt As Date dt = Now Cells(2, 2) = Format(dt, "d") ' 日(前に0を付けない数値) Cells(3, 2) = Format(dt, "dd") ' 日(前に0を付けた数値) Cells(4, 2) = Format(dt, "ddd") ' 曜日(省略形) Cells(5, 2) = Format(dt, "dddd") ' 曜日 Cells(6, 2) = Format(dt, "ddddd") ' 日付(短い形式) Cells(7, 2) = Format(dt, "dddddd") ' 日付(長い形式) Cells(8, 2) = Format(dt, "aaaa") ' 曜日(日本語) Cells(9, 2) = Format(dt, "w") ' 曜日(日曜日1、…、土曜日7) Cells(10, 2) = Format(dt, "ww") ' 1 年の何週目か Cells(11, 2) = Format(dt, "m") ' 月(前に0を付けない数値) Cells(12, 2) = Format(dt, "mm") ' 月(前に0を付けた数値) Cells(13, 2) = Format(dt, "mmm") ' 月名(省略形) Cells(14, 2) = Format(dt, "mmmm") ' 月名 Cells(15, 2) = Format(dt, "oooo") ' 月名(日本語) Cells(16, 2) = Format(dt, "q") ' 四半期 Cells(17, 2) = Format(dt, "y") ' 1 年の何日目か Cells(18, 2) = Format(dt, "yy") ' 西暦(下2桁) Cells(19, 2) = Format(dt, "yyyy") ' 西暦 Cells(20, 2) = Format(dt, "ggg") ' 元号 Cells(21, 2) = Format(dt, "e") ' 和暦 Cells(22, 2) = Format(dt, "h") ' 時(前に0を付けない数値) Cells(23, 2) = Format(dt, "Hh") ' 時(前に0を付けた数値) Cells(24, 2) = Format(dt, "N") ' 分(前に0を付けない数値) Cells(25, 2) = Format(dt, "Nn") ' 分(前に0を付けた数値) Cells(26, 2) = Format(dt, "S") ' 秒(前に0を付けない数値) Cells(27, 2) = Format(dt, "Ss") ' 秒(前に0を付けた数値) Cells(28, 2) = Format(dt, "ttttt") ' 時刻(長い形式) Cells(29, 2) = Format(dt, "AM/PM") ' 午前をAM、午後をPM Cells(30, 2) = Format(dt, "am/pm") ' 午前をam、午後をpm Cells(31, 2) = Format(dt, "A/P") ' 午前をA、午後をP Cells(32, 2) = Format(dt, "a/p") ' 午前をa、午後をp Cells(33, 2) = Format(dt, "AMPM") ' 日本語で午前午後 End Sub |
実行結果
定義済みの数値の書式
書式名 | 結果 | 説明 |
---|---|---|
General Number | 123456789 | 桁区切りなし |
Currency | ¥123,456,789 | 通貨表示(桁区切りあり) ※システム設定に依存(セント、ペニーなど、通貨に補助単位が存在する場合は小数部2桁が表示されます。) |
Fixed | 1234.10 | 少なくとも整数部1桁、小数部2桁を表示 |
Standard | 1,234.10 | 少なくとも整数部1桁、小数部2桁を表示(桁区切りあり) |
Percent | 50.00% | パーセント表示 小数部は2桁表示 |
Scientific | 1.23E+08 | 標準の指数表記を使用 |
Yes/No | Yes | 0の場合はNo、0以外の場合はYesを表示 |
True/False | True | 0の場合はFalse、0以外の場合はTrueを表示 |
On/Off | On | 0の場合はOff、0以外の場合はOnを表示 |
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub Sample5_8_3() Cells(2, 2).Value = Format("123,456,789", "General Number") ' 桁区切りなし Cells(3, 2).Value = Format(123456789, "Currency") ' 通貨表示(桁区切りあり)※システム設定 Cells(4, 2).Value = Format(1234.1, "Fixed") ' 少なくとも整数部1桁、小数部2桁を表示 Cells(5, 2).Value = Format(1234.1, "Standard") ' 少なくとも整数部1桁、小数部2桁を表示(桁区切りあり) Cells(6, 2).Value = Format(0.5, "Percent") ' パーセント表示 小数部は2桁表示 Cells(7, 2).Value = Format(123456789, "Scientific") ' 標準の指数表記を使用 Cells(8, 2).Value = Format(1, "Yes/No") ' 0の場合はNo、0以外の場合はYesを表示 Cells(9, 2).Value = Format(1, "True/False") ' 0の場合はFalse、0以外の場合はTrueを表示 Cells(10, 2).Value = Format(1, "On/Off") ' 0の場合はOff、0以外の場合はOnを表示 End Sub |
実行結果
ユーザー定義に使用できる文字列書式
書式指定式 | 説明 |
---|---|
@ | 右側から左側に向かって文字が埋められます。文字がないところにはスペースが表示されます。 |
& | 右側から左側に向かって文字が埋められます。文字がないところには何も表示されません。 |
! | “!”を付けることで左側から右側に向かって文字が埋められます。 |
> | “>”を付けることで大文字にできます。 |
< | “<"を付けることで小文字にできます。 |
次のプログラムでは、どこに割り当てられたか判別しやすいように、文字間に”-“を入れてあります。
A1セルの”Xls”という3文字が、どのように割り当てられるのかを確認して下さい。
実行プログラム
1 2 3 4 5 6 7 8 9 10 |
Sub Sample5_8_4() Cells(4, 2).Value = Format(Cells(1, 1).Value, "\[@-@-@-@\]") Cells(5, 2).Value = Format(Cells(1, 1).Value, "\[!@-@-@-@\]") Cells(6, 2).Value = Format(Cells(1, 1).Value, "\[&-&-&-&\]") Cells(7, 2).Value = Format(Cells(1, 1).Value, "\[!&-&-&-&\]") Cells(8, 2).Value = Format(Cells(1, 1).Value, "\[>@-@-@-@\]") Cells(9, 2).Value = Format(Cells(1, 1).Value, "\[!<@-@-@-@\]") End Sub |
実行後
- “@”の場合は、半角スペースとなる箇所があります。
- “&”の場合は、半角スペースとなる箇所がありません。