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 です。”となります。