|
仮に年を設定して、日付の体裁を整えIsDateでチェックするのが嫌なら
1行か2行のコードで済む所が
以下のような、馬鹿馬鹿しいコードを書かなければ成らないと思います
Public Function DateChek(strValue As String) As Boolean
Dim vntMonth As Variant
Dim vntDay As Variant
Dim lngCompareDay As Long
If Len(strValue) <> 4 Then
Exit Function
End If
If Not IsNumeric(strValue) Then
Exit Function
End If
vntMonth = CLng(Left$(strValue, 2))
vntDay = CLng(Mid$(strValue, 3))
Select Case vntMonth
Case 1, 3, 5, 7, 8, 10, 12
lngCompareDay = 31
Case 4, 6, 9, 11
lngCompareDay = 30
Case 2
lngCompareDay = 29
' lngCompareDay = 28
Case Else
Exit Function
End Select
If vntDay < 1 Or vntDay > lngCompareDay Then
Exit Function
End If
DateChek = True
End Function
|
|