こんにちわ。
日付入力チェックについて質問があります。
年月を入力した場合と年月日を入力した場合の日付チェックを
同じ関数でやりたいのですが、
どう判断さればいいのかいまいちいい方法が浮かびません。
"/"を入力する場合としない場合があり
例えば
「20050503」と入力した場合には
日付チェックOK⇒2005/05/03と変換しCALL元に返す
「2005/05/03」と入力した場合には
日付チェックOK⇒2005/05/03をCALL元に返す
「200505」と入力した場合には
日付チェックOK⇒2005/05と変換してCALL元に返す
わかり辛い文で申し訳ありませんが、ぜひともご教授願います。
お願いします。
「例えば」としか書いていないので、コレだけでは作れない予感が(orz
もっとフォーマットを決めましょう。
まぁ、イジワルをすれば、
Function x(ByVal s As String) As String
If s = "20050503" Then x = "2005/05/03"
If s = "2005/05/03" Then x = "2005/05/03"
If s = "200505" Then x = "2005/05"
End Function
と言うのが出来るわけですが(ぇ
こんなのとか
Private Function hogehoge(strDate As String) As String
Select Case Len(strDate)
Case 6
If IsDate(Format$(strDate, "@@@@/@@") & "/01") = True Then
hogehoge = Format$(strDate, "@@@@/@@")
End If
Case 8
If IsDate(Format$(strDate, "@@@@/@@/@@")) = True Then
hogehoge = Format$(strDate, "@@@@/@@/@@")
End If
Case 10
If IsDate(strDate) = True Then
hogehoge = strDate
End If
End Select
End Function
ツイート | ![]() |