文字列から日付と時刻を取得する
セルに入力した日時を数値として取得するには、DateValue関数とTimeValue関数を使用します。
構文
DateValue(date)
DateVale | 「2/27/2025」、「February 27, 2025」、「Feb 27, 2025」 いずれも認識できます。 |
date | 100 年 1 月 1 日から 9999 年 12 月 31 日までの日付を表す 文字列式 です。 この範囲内の日付や時刻、または日付と時刻の両方を表す式を指定することもできます。 |
TimeValue(time)
TimeValue | 「6:30PM」、「18:30」 どちらでも認識します。 |
time | 0:00:00 (午前 12:00:00) から 23:59:59 (11:59:59 P.M.) までの時間を表す文字列式です。 この範囲の時刻を表す式を指定することもできます。 |
日時を抽出するサンプルコード
Public Sub Sample() 'A1セルに日時を文字列で入力する Range("A1") = "2025年1月31日 5時12分00秒" '■日付のみを数値として取得する Debug.Print DateValue(Range("A1").Value) '■時刻のみを数値として取得する Debug.Print TimeValue(Range("A1").Value) End Sub
注意点
- DateValueは日付のみ、TimeValueは時刻のみを返します。
- セルに時刻のみを入力した場合、上記サンプルコードではエラーが生じます。
※これはデータが「シリアル値」となってしまうのが原因です。解決方法はこちら。
コメント