Lasersword
Cadet 4th Year
- Registriert
- Jan. 2008
- Beiträge
- 123
Hallo CBler,
Hallo VBA-Experten,
wie immer, wenn ich nicht mehr weiter weiß, seit ihr meine letzte Hoffnung (Google hat auch
schon versagt).
Folgendes Problem:
Ich habe in Excel 2003 eine Userform erstellt in dieser wird ein Datum eingegeben, das auf mehrere Plausibilitäten gepüft werden muß.
Hab jetzt folgenden Befehl benutzt:
Gebe ist z. B. 25.12.2010 ein, bekomme ich auch die Msgbox-Meldung, ABER
gege ich 01.01.2011 ein (was ja ebenfalls in der Zukunft liegt) wird keine Meldung angezeigt.
Wo ist hier mein Denkfehler?
Anm. Exit Sub habe ich nur zum Test eingegeben, ist aber unrelevant.
Hallo VBA-Experten,
wie immer, wenn ich nicht mehr weiter weiß, seit ihr meine letzte Hoffnung (Google hat auch
schon versagt).
Folgendes Problem:
Ich habe in Excel 2003 eine Userform erstellt in dieser wird ein Datum eingegeben, das auf mehrere Plausibilitäten gepüft werden muß.
Hab jetzt folgenden Befehl benutzt:
Code:
Private Sub txtDatumFeststellung_AfterUpdate()
On Error Resume Next 'damit Debugger nicht anspringt, wenn Wert nicht Datum ist
Dim FD As String
FD = Format(UserForm1.txtDatumFeststellung.Value, "dd.mm.yy")
If IsDate(FD) = False Then
MsgBox "Bitte geben Sie ein gültiges Datum ein!"
UserForm1.txtDatumFeststellung.SetFocus
Exit Sub
ElseIf FD > Date Then
MsgBox "Das Datum liegt in der Zukunft!"
UserForm1.txtDatumFeststellung.SetFocus
Exit Sub
ElseIf DateDiff("yyyy", FD, Date) > 3 Then
MsgBox "Bitte Datum prüfen, der Fall liegt mehr" & vbCrLf & _
"als 3 Jahre zurück!"
UserForm1.txtDatumFeststellung.SetFocus
Exit Sub
End If
End Sub
Gebe ist z. B. 25.12.2010 ein, bekomme ich auch die Msgbox-Meldung, ABER
gege ich 01.01.2011 ein (was ja ebenfalls in der Zukunft liegt) wird keine Meldung angezeigt.
Wo ist hier mein Denkfehler?
Anm. Exit Sub habe ich nur zum Test eingegeben, ist aber unrelevant.