Excel VBA DateValue、TimeValue関数の使い方と日付、時刻の変換方法

VBA関数

今回は、DateValue関数とTimeValue関数を使用して日付や時刻への変換方法についてご説明します。

日付の指定や操作方法は「IsDate」「DateValue」「DateSerial」「DateAdd」「DateDiff」と色々ありますが、今回はこの「DateValue関数」を使用した方法になります。

DateValue関数とTimeValue関数は日付、時刻を示す文字列をDate型に変換します。

日付や時刻は意外とテキスト(文字列)のデータを操作する機会が多いので、今回の関数を使用することで、データの処理が行いやすくなります。

その他、日付の指定方法などは下記記事をご覧ください。

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

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