関数・メソッド

文字列から日付と時刻を数値として取得する【DateValue/TimeValue関数】【ExcelVBA】

文字列から日付と時刻を取得する

セルに入力した日時を数値として取得するには、DateValue関数とTimeValue関数を使用します。

構文
DateValue(date)

DateVale「2/27/2025」、「February 27, 2025」、「Feb 27, 2025」 いずれも認識できます。
date100 年 1 月 1 日から 9999 年 12 月 31 日までの日付を表す 文字列式 です。
この範囲内の日付や時刻、または日付と時刻の両方を表す式を指定することもできます。

TimeValue(time)

TimeValue「6:30PM」、「18:30」 どちらでも認識します。
time0: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は時刻のみを返します。
  • セルに時刻のみを入力した場合、上記サンプルコードではエラーが生じます。
    ※これはデータが「シリアル値」となってしまうのが原因です。解決方法はこちら

関連記事

コメント

タイトルとURLをコピーしました