ich habe ein Problem bezüglich des Abfangens fehlerhafter Eingaben in meiner UserForm.
Ausgangspunkt ist folgender:
Ich kann zwei Daten in meine UserForm eingeben, die jeweils dreifach unterteilt (via Kombinationsfeld) sind, d.h. inTag, inMonat und inJahr bzw. abTag, abMonat und abJahr.
Wichtig hierbei ist, dass das abDatum (=Ablesedatum) NACH dem inDatum (=Inbetriebnahmedatum) liegen muss. Aus diesem Grund wollte ich auf fehlerhafte Eingaben über eine MsgBox aufmerksam machen.
Der Code dazu sieht so aus:
If inJahr = abJahr And inMonat > abMonat Then
inMonat.Value = ""
abMonat.Value = ""
MsgBox "Bitte gültige Monatskombination auswählen!"
inMonat.SetFocus
Exit Sub
End If
If inJahr = abJahr And inMonat = abMonat And inTag > abTag Then
inTag.Value = ""
abTag.Value = ""
MsgBox "Bitte gültige Tageskombination auswählen!"
inTag.SetFocus
Exit Sub
End If
Mein Problem ist jetzt folgendes:
Wenn das inDatum jetzt z.B. 5.7.2010 ist und das abDatum der 28.7.2010, erscheint trotz richtiger Eingabe die MsgBox.
Nach ein wenig Ausprobieren vermute ich, dass bei meiner ">"-Abfrage nur die erste Ziffer des Tages verglichen wird. Einen Grund dafür weiß ich dank meiner sehr geringen VBA-Kenntnisse leider nicht.
Wo könnte also der Fehler in meinem Code liegen?
Es wäre sehr nett, wenn mir jemand weiter helfen könnte!
Vielen Dank jetzt schon mal.
Gruß
Kerstin