-
∨目次
- 構文
- 解説
- 使用例
VBA IsDate 関数
はじめに
Excel VBA マクロの IsDate 関数を紹介します。
IsDate 関数は、指定した値を日付型 (Date) に変換できるかを判定します。
文字列を「CDate 関数」で変換できるか判定したいときに使用します。
-
目次
- 構文
- 解説
- 使用例
構文
IsDate(値)
値を日付型 (Date) に変換できるときは True を返します。それ以外のときは False を返します。
引数「式」 | 判定したい値を指定します。 |
戻り値の型 | ブール型 (Boolean) |
解説
日付や時刻に変換できるときはTrueを返します。でないときはFalseを返します。
引数「値」に日付形式の文字列"2000/1/1"などを指定するとTrueを返します。
引数「値」に数値を指定するとFalseを返します。しかし「CDate 関数」で日付に変換できます。
変換できるのは日付型の範囲西暦100年1月1日 ~ 西暦9999年12月31日の間です。
「CDate 関数」は変換できないときにエラーが発生します。結果がTrueの時だけ変換すると、エラーの発生を防げます。
使用例
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"
Dim d As Date
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
スポンサーリンク