銀河鉄道

【VBA】日付型を文字列にする|Format

サムネイル
[VBA]日付を文字列に
Formatを
使う

Format|「意図した見た目」にできる

Sub Test_DateTime_Format()
	Dim d As Date
	Dim s As String

	' ① 時刻だけ
	d = "9:00"
	s = Format(d, "hh:mm:ss") '09:00:00
	s = Format(d, "hhmm")     '0900

	' ② 日付だけ
	d = "2025/10/06"
	s = Format(d, "yyyy/mm/dd")  '2025/10/06
	s = Format(d, "yyyymmdd").   '20251006

	' ③ 日付+時刻
	d = "2025/10/06 9:00"
	s = Format(d, "yyyy/mm/dd hh:mm:ss")  '2025/10/06 09:00:00
	s = Format(d, "yyyymmdd_hhmmss")      '20251006_090000
End Sub

好きな形にフォーマットできる

補足|Cstrはロケール依存のため不正確

dim d as date
dim strD as string

d = "9:00"
strD = CStr(d)

結果:”9:00″

※ OS依存のため、次のような結果になることもある
"09:00:00"
“9:00:00 AM”

文字列だけど、見た目の指定はできない

Vocabulary

| Date Type|日付型 |
| CStr Function|CStr関数 |
| Format Function|Format関数 |
| Locale Dependency|ロケール依存性 |
| String Conversion|文字列変換 |

逆パターンはこちら

When consistency matters, always format explicitly.

同じ処理をPythonでも書いてみよう

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧