Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Setfocus im Userform

Setfocus im Userform
12.04.2009 18: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

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

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

AW: Setfocus im Userform
12.04.2009 18: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 18:45:35
Hajo_Zi
Hallo Ernst,
wie prüfst Du ob die Eingabe 31 korrekt ist ?
Oder 29.02 ?
Gruß Hajo
AW: Setfocus im Userform
12.04.2009 18: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 19: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 19: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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige