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

VBA IsDate 関数

はじめに

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

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

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

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

構文

IsDate()
を日付型 (Date) に変換できるときは True を返します。それ以外のときは False を返します。

引数「式」判定したい値を指定します。
戻り値の型ブール型 (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
  • 目次
    • 構文
    • 解説
    • 使用例