T
Tim Childs
I have somedates in this text/label format (yyyy-mm-dd) i.e. not numbers,
2007-02-01
2007-01-33
2007-02-01
I want to test for valid dates. The basic approach I was using was this:
Sub foo()
Dim sDateStr As String
sDateStr = "2007-01-33"
Debug.Print DateSerial(Left(sDateStr, 4), Mid(sDateStr, 6, 2),
Right(sDateStr, 2))
Debug.Print IsDate(DateSerial(Left(sDateStr, 4), Mid(sDateStr, 6, 2),
Right(sDateStr, 2)))
End Sub
But pseudo-dates such as
33rd January 2007 (see second entry)
get interpreted as 2nd February 2007 and *pass* the test.
What is the best way of testing for such pseudo-dates, please?
Thanks in advance
Tim
2007-02-01
2007-01-33
2007-02-01
I want to test for valid dates. The basic approach I was using was this:
Sub foo()
Dim sDateStr As String
sDateStr = "2007-01-33"
Debug.Print DateSerial(Left(sDateStr, 4), Mid(sDateStr, 6, 2),
Right(sDateStr, 2))
Debug.Print IsDate(DateSerial(Left(sDateStr, 4), Mid(sDateStr, 6, 2),
Right(sDateStr, 2)))
End Sub
But pseudo-dates such as
33rd January 2007 (see second entry)
get interpreted as 2nd February 2007 and *pass* the test.
What is the best way of testing for such pseudo-dates, please?
Thanks in advance
Tim