Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Setfocus im Userform

Forumthread: Setfocus im Userform

Setfocus im Userform
12.04.2009 20:05:32
Ernst
Hallo,
erst mal euch allen FROHE OSTERN.
Hier nun mein Problem: Ich habe ein UserForm und überprüfe eine TextBox (Change) in der ein Datum eingetragen wird. Sollte das Datum falsch sein wird eine MsgBox aufgerufen, danach soll wieder in das Datumsfeld gesprungen werden - funzt aber nicht.
Kann mir jemand helfen?!?
If .TextLength = 10 And IsDate(.Value) = False Then
If MsgBox("Bitte korrektes Datum eingeben!", vbCritical, "Ungültiges Datum") = vbOK Then
.SetFocus
.SelStart = 0
.SelLength = 10
End If
End If
GRuß Ernst
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Setfocus im Userform
12.04.2009 20:06:56
Hajo_Zi
Hallo Erst,
auch Frohe Ostern.
Benutze das Exit Ereignis und Cancel=True

AW: Setfocus im Userform
12.04.2009 20:41:37
Ernst
Ich möchte ja gerade bei Eingabe schon prüfen, ob das Datum korrekt ist. Würde es denn auch anders gehen?!?
AW: Setfocus im Userform
12.04.2009 20:45:35
Hajo_Zi
Hallo Ernst,
wie prüfst Du ob die Eingabe 31 korrekt ist ?
Oder 29.02 ?
Gruß Hajo
Anzeige
AW: Setfocus im Userform
12.04.2009 20:49:30
Ernst
So....
If .TextLength = 1 And .Value > 3 Then .Value = "0" & .Value & "."
If .TextLength = 2 Then .Value = .Value & "."
If .TextLength = 4 And Right(.Value, 1) > 1 Then .Value = Left(.Value, 3) & "0" & Right(.Value, 1)
If .TextLength = 5 Then
.Value = .Value & "." & Jahr
Exit Sub
End If
If .TextLength = 10 And IsDate(.Value) = False Then
If MsgBox("Bitte korrektes Datum eingeben!", vbCritical, "Ungültiges Datum") = vbOK Then
.SelStart = 0
.SelLength = .TextLength
End If
ElseIf .TextLength = 10 Then
If Turnier_Datum < Turnier_AnDatum Then
Turnier_AnDatum = Turnier_Datum
Call Auswaehlen(Turnier_AnDatum)
Else
Turnier_AnDatumT.Caption = Format(.Value, "DDDD")
End If
End If
Gruß Ernst
Anzeige
AW: Setfocus im Userform
12.04.2009 21:11:37
Hajo_Zi
Hallo Ernst,
das sehe ich nicht als Überprüfung. nach 41 wird also ein Punkt gemacht da es max einn zweistelligen Tag gibt.
Also von Überprüfng kann man schon unterschiedlicher Auffassung sein.
Gruß Hajo
AW: Setfocus im Userform
12.04.2009 21:22:16
Ernst
Hab es nun anders gelöst - da ist die Überprügung dann auch vorhanden:
If .TextLength = 1 And .Value > 3 Then .Value = "0" & .Value & "."
If .TextLength = 2 Then .Value = .Value & "."
If .TextLength = 4 And Right(.Value, 1) > 1 Then .Value = Left(.Value, 3) & "0" & Right(.Value, 1)
If .TextLength = 5 Then
If Left(Right(.Value, 2), 1) <> 0 And Right(.Value, 1) > 2 Then
.SelStart = 3
.SelLength = 2
Else
.Value = .Value & "." & Jahr
End If
End If
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18