CDate関数 解説(Excel VBA)

Excel VBAのCDate関数

Excel VBAのCDate関数は、指定した値をDate型に変換する関数です。この関数を使用することで、文字列や数値を日付/時間の形式に変換することができます。

引数

CDate関数は次の形式で使用します。
CDate(値)
引数には、Date型に変換したい値を指定します。この値は数値または文字列で、有効な日付/時間の形式でなければなりません。

サンプルコード

以下のサンプルコードは、CDate関数の基本的な使用例を示しています。


    Sub ConvertStringToDate()
        Dim str As String
        Dim dateValue As Date

        str = "2023年05月17日"
        dateValue = CDate(str)

        Debug.Print "日付は " & dateValue & " です。"
    End Sub
    

このコードは、文字列 “2023年05月17日” を日付に変換し、Debug.Print文を使ってイミディエイトウィンドウに出力します。出力結果は”日付は 2023/05/17 です。”となります。

活用例

CDate関数は、日付/時間の操作が必要なプログラムで頻繁に使用されます。例えば、セルに入力された日付の文字列をDate型に変換して、それを基に日数の計算を行う場合などです。

以下のサンプルコードでは、セルA1に入力された日付文字列をDate型に変換し、それを基に30日後の日付を計算しています。


    Sub CalculateFutureDate()
        Dim str As String
        Dim dateValue As Date
        Dim futureDate As Date

        str = Range("A1").Value
        dateValue = CDate(str)

        futureDate = DateAdd("d", 30, dateValue)

        Debug.Print "30日後の日付は " & futureDate & " です。"
    End Sub
    

このコードでは、DateAdd関数を用いて日付を計算しています。DateAdd関数の第一引数は間隔を示す文字列であり、”d”は日を示しています。セルA1に” ‘2023年05月17日 “と文字列型の日付入力されている場合、出力結果は”30日後の日付は 2023/06/16 です。”となります。