サイトについて      連絡先   検索

VBA CDate 関数

はじめに

Excel VBA マクロの CDate 関数を紹介します。

CDate 関数は、指定した値を日付型 (Date) に変換します。

文字列を日付型に変換したいときに使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

CDate()
を日付型 (Date) に変換します。

引数「値」文字列や数値を指定します。
戻り値の型日付型 (Date)

解説

日付型の変数に代入しても同様に変換されます。

引数「値」が"2013/1/2 3:4:5"のような文字列なら、そのまま2013/1/2 3:4:5の日付に変換します。

引数「値」が数値なら、日付型の初期値1899/12/30にその数値の日を足した日付に変換します。

変換できるのは日付型の範囲西暦100年1月1日 ~ 西暦9999年12月31日の間です。

変換できるかどうかは「IsDate 関数」で判定できます。

変換できない値を指定するとエラーが発生します。

使用例


Dim d As Date

d = CDate("2013/1/2")
Debug.Print(d) ' 2013/01/02

d = CDate("2013年3月4日")
Debug.Print(d) ' 2013/03/04

d = CDate("1:2:3")
Debug.Print(d) ' 1:02:03

d = CDate("2013/1/2 3:4:5")
Debug.Print(d) ' 2013/01/02 3:04:05

d = "2013/1/2 3:4:5"
Debug.Print(d) ' 2013/01/02 3:04:05

d = CDate(1)
Debug.Print(d) ' 1899/12/31

d = CDate(2)
Debug.Print(d) ' 1900/01/01

変換できるときだけ変換する。


Dim s As String
s = "Tips"
Dim d As Date

If IsDate(s) = True Then ' 変換できるときだけ実行する
    d = CDate(s)
End If
  • 目次
    • 構文
    • 解説
    • 使用例