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

VBA IsDate 関数

はじめに

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

IsDate 関数は、指定した値を日付型 (Date) に変換できるかを判定します。

文字列を「CDate 関数」で変換できるか判定したいときに使用します。

構文

IsDate(値)

名前 説明
引数「式」日付型に変換できるか判定したい値を指定します。
戻り値ブール型 (Boolean)

解説

変換できるときは True、できないときは False を返します。

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

変換できるものは「CDate 関数」で日付型 (Date) に変換できます。ただし数値を指定したときは False を返しますが「CDate 関数」で変換できます。

使用例


Dim b As Boolean

b = IsDate("2013/1/2")
Debug.Print (b) ' True

b = IsDate("2013年1月2日")
Debug.Print (b) ' True

b = IsDate("20130102")
Debug.Print (b) ' False

b = IsDate("1:2:3")
Debug.Print (b) ' True

b = IsDate("50/1/2")
Debug.Print (b) ' True ' 1950/1/2 と解釈されるため

b = IsDate("Tips")
Debug.Print (b) ' False

Dim s As String
s = "Tips"

If IsDate(s) = True Then ' 変換できるときだけ実行する
    d = CDate(s)
End If

Dim b As Boolean

b = IsDate("1")
Debug.Print (b) ' False

Dim d As Date
d = CDate("1")
Debug.Print (d) ' 1899/12/31