IsDate 関数

IsDate(expression)

式を日付に変換できるかどうかを調べ、結果をブール値で返します。

引数

expression
日付または時刻として認識できる日付式または文字列式を指定します。

解説

IsDate 関数は、指定した式が日付である場合、またはその式を日付に変換できる場合は、真 (True) を返します。変換できない場合は、偽 (False) を返します。Microsoft Windows で有効な日付の範囲は、西暦 100 年 1 月 1 日から西暦 9999 年 12 月 31 日までです。この範囲は、オペレーティング システムによって異なります。

使用例

次のコードは、IsDate 関数を使って式を日付に変換できるかどうかを調べる例です。

Dim MyDate, YourDate, NoDate, MyCheck
MyDate = "October 19, 1962"
YourDate = #10/19/62#
NoDate = "Hello"
MyCheck = IsDate(MyDate)           '真 (True) を返します。
MyCheck = IsDate(YourDate)         '真 (True) を返します。
MyCheck = IsDate(NoDate)           '偽 (False) を返します。

MyCheck = IsDate("2004/02/29")     '真 (True) を返します。
MyCheck = IsDate("2005/02/29")     '偽 (False) を返します。
              

次のコードは、IsDate 関数を使って与えられた月の末日を調べる例です。

'年月日を返します。
Function GetLastDay(MyDate)
     Dim i, strDate
     i = 31
     '日付を与えられた年月の31日にする
     strDate = Year(MyDate) & "/" & Month(MyDate) & "/" & i
     '日付として認識できるまで繰り返す
     Do While Not IsDate(strDate)
          '1日前にする
          i = i - 1
          strDate = Year(MyDate) & "/" & Month(MyDate) & "/" & i
     Loop
     GetLastDay = strDate
End Function
              

'日を返します。
Function GetLastDay(MyDate)
     Dim i, MyCheck
     i = 31
     MyDate = Year(MyDate) & "/" & Month(MyDate) & "/"
     MyCheck = MyDate & i
     '日付として認識できるまで繰り返す
     Do While Not IsDate(MyCheck)
          i = i - 1
          MyCheck = MyDate & i
     Loop
     GetLastDay = i
End Function
              

DateAdd 関数を使うともっと簡単に調べられます。

関連

CDate 関数 | IsArray 関数 | IsEmpty 関数 | IsNull 関数 | IsNumeric 関数 | IsObject 関数 | VarType 関数

このページの先頭へ