今回は、DateValue関数とTimeValue関数を使用して日付や時刻への変換方法についてご説明します。
日付の指定や操作方法は「IsDate」「DateValue」「DateSerial」「DateAdd」「DateDiff」と色々ありますが、今回はこの「DateValue関数」を使用した方法になります。
DateValue関数とTimeValue関数は日付、時刻を示す文字列をDate型に変換します。
日付や時刻は意外とテキスト(文字列)のデータを操作する機会が多いので、今回の関数を使用することで、データの処理が行いやすくなります。
その他、日付の指定方法などは下記記事をご覧ください。
- DateSerial関数の使い方と月初、月末の指定
- IsDate関数の使い方と日付に変換する方法
- DateAdd関数の使い方と何日(時間)後を取得する方法
- DateDiff関数の使い方と2つの日付の日数をループする
1.DateValue関数とTimeValue関数の使い方
DateValue関数とTimeValue関数は日付、時刻を示す文字列をDate型に変換します。
それぞれの使い方の説明です。
DateValue関数
「DateValue (Date)」と記述します。
引数Dateは日付を表す文字列式を指定します。
日付の表記として「”2018/1/1″」などの「/」や「”2018-1-1″」の「-」が使用できます。
また、「”平成31年1月1日”」のように和暦にも対応出来ます。
日付と認識されない場合はエラーになります。
TimeValue関数
「TimeValue (Time)」と記述します。
時刻を表す文字列式を指定します。
AMやPMを付けて表記した時刻にも対応可能です。
基本的には「0:00:00 (12:00:00 AM) ~ 23:59:59 (11:59:59 PM)」の範囲の時刻を表す文字列式を指定します。
時刻と認識されない場合はエラーになります。
2.DateValue関数とTimeValue関数のサンプルコード
DateValue関数とTimeValue関数で扱える文字列式の例も挙げつつ、サンプルコードです。
DateValue関数のサンプルコード
通常の日付から「-」、和暦、「H表記」でも日付に変換出来ています。
また、年を省略すると自動的に現在の年を返します。
Sub Sample1()
Debug.Print DateValue("2018/1/1")
Debug.Print DateValue("2018-2-1")
Debug.Print DateValue("3/1")
Debug.Print DateValue("平成31年4月1日")
Debug.Print DateValue("H31/5/1")
Debug.Print DateValue("H31-6-1")
End Sub
TimeValue関数 のサンプルコード
通常の時刻から「AM」や「PM」にも対応しています。
AM、PMの間にはスペースが入っていても対応します。
Sub Sample2()
Debug.Print TimeValue("0:10")
Debug.Print TimeValue("AM0:1:20")
Debug.Print TimeValue("PM0:1:30")
Debug.Print TimeValue("0:1:40AM")
Debug.Print TimeValue("0:1:50PM")
End Sub