Format関数は、日付や数値をさまざまな形式に変換する。VBAエキスパート試験でも問われやすい関数だと思う。
基本的な使い方
Format関数には「元の値」と「書式記号」という2つの引数がある。
【書式】
Format(元の値, 書式記号)
いくつかFormat関数の使用例を挙げる。
次のプロシージャは、「15」という数値を4桁にして表示する。
Sub Test()
MsgBox Format(15, "0000")
End Sub
↓
「32.5」という数値を整数部分3桁、小数部分2桁で表示する。
Sub Test()
MsgBox Format(32.5, "000.00")
End Sub
↓
現在の日付を年4桁、月2桁、日2桁で表示する。
Sub Test()
MsgBox Format(Now, "yyyy/mm/dd")
End Sub
↓

【Access VBA エキスパート試験用】 Format関数の書式記号一覧
Format関数は、日付や数値をさまざまな形式に変換する関数だ。変換の形式は引数「書式記号」で決まる。
【書式】
Format(元の値, 書式記号)
...
エキスパート試験のポイント
1.書式記号「#」は1桁の数値を表す。ただし存在しない桁は0で埋めない。書式記号「0」も1桁の数値を表すが、存在しない桁は0で埋められる。
Sub Test()
Debug.Print Format(15, "####")
Debug.Print Format(15, "0000")
End Sub
↓
2.書式記号「m」は月の数値を表す。1桁の場合は先頭に0がつかない。書式記号「mm」も月の数値を表すが、1桁の場合は0が付く。
(書式記号「d」と「dd」、「h」「hh」なども同様)
Sub Test()
Debug.Print Format("2019/02/25", "m")
Debug.Print Format("2019/02/25", "mm")
End Sub
↓
3.書式記号「ggg」は年号を表す(昭和、平成など)。また書式記号「e」は和暦年を表す。この2つの組み合わせは分かるようにしておこう。
Sub Test()
Debug.Print Format("2019/02/25", "ggge") & "年"
End Sub
↓
4.書式記号「ddd」は英語の曜日の先頭3文字を表す。また書式記号「dddd」は英語の曜日を表す。VBAエキスパート試験対策のためには覚えておきたい。
Sub Test()
Debug.Print Format("2019/02/25", "ddd")
Debug.Print Format("2019/02/25", "dddd")
End Sub
↓
なお、書式記号「aaa」は日本語の曜日の先頭1文字を表す(月、火など)。書式記号「aaaa」は日本語の曜日を3文字で表す(月曜日など)。
Sub Test()
Debug.Print Format("2019/02/25", "aaa")
Debug.Print Format("2019/02/25", "aaaa")
End Sub
↓

【VBAエキスパート試験対応】Access VBA ベーシック 試験対策ソフト
VBAエキスパート試験に対応した試験対策ソフト(Access VBA ベーシック)を作成しました。もともとは電子書籍の形式で問題集を提供...
練習問題
次のプロシージャを実行したところメッセージボックスが表示された。その表示内容として正しいものはどれか。次の中から1つ選択しなさい。
Sub Test()
MsgBox Format("2018/3/1", "yyyy/m/d")
End Sub
- 2018/3/1
- 2018/03/01
- 20180301
- 2018年3月1日
正解を見る
1
コメント