Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
672to676
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
672to676
672to676
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

txtbox.setfocus (geht nicht, warum???)

txtbox.setfocus (geht nicht, warum?)
03.10.2005 12:01:51
Frank
Tach zusammen!
Ich habe mir eine Userform (formular) gebastelt. Dort soll der Anwender u.a. ein Geburtsdatum eingeben.
Beim Verlassen der Textbox prüft eine Routine, ob der eingetragene Wert überhaupt ein Geburtsdatum ist - und in einer zweiten Schleife, ob das Datum nicht in der Zukunft liegt.
Die Prüfung funktioniert bis auf die Tatsache, dass nach Ausgabe der Fehlermeldung der Cursor nicht wieder in die Textbox zurückgesetzt wird.
Ich habe das mit setfocus probiert, die Anweisung will aber in der if-then schleife nicht.
Grundsätzlich funktioniert setfocus bei mir. Ich habe es mit einer Testschaltfläche ausprobiert.
Hier mal mein Listing - hat jemand eine Idee, welchen Fehler ich gemacht habe?
Gruß
Frank

Private Sub txtGebdat_Exit(ByVal Cancel As MSForms.ReturnBoolean)
frmEingabe.txtGebdat = Format(frmEingabe.txtGebdat, "dd.mm.yyyy")
Gebdat = frmEingabe.txtGebdat
If IsDate(Gebdat) Then
Else
frmEingabe.txtGebdat.Value = ""
frmEingabe.txtGebdat.SetFocus 'Funktioniert nicht, warum?
MsgBox vbCrLf & vbCrLf & "Hinweis:" & vbCrLf & vbCrLf _
& Gebdat _
& vbCrLf & vbCrLf & "entspricht keinem gültigen Datumsformat." _
& vbCrLf & vbCrLf & "Korrigieren Sie Ihre Eingaben!" _
& vbCrLf & vbCrLf & "Gültiges Format ist: 00.00.0000 !" & vbCrLf _
& vbCrLf & vbCrLf, vbCritical + vbOKOnly, "Eingabefehler ...": _
Exit Sub
End If
Date = Format(Date, "dd.mm.yyyy")
t = Date
g = Gebdat
If g > t Then
frmEingabe.txtGebdat = ""
frmEingabe.txtGebdat.SetFocus 'Funktioniert nicht, warum?
MsgBox vbCrLf & vbCrLf & "Hinweis:" & vbCrLf & vbCrLf _
& Gebdat _
& vbCrLf & vbCrLf & "Das Geburtsdatum liegt über dem Systemdatum, demnach in der Zukunft." _
& vbCrLf & vbCrLf & "Korrigieren Sie Ihre Eingaben!" _
& vbCrLf & vbCrLf & "Gültiges Format ist: 00.00.0000 !" & vbCrLf _
& vbCrLf & vbCrLf, vbCritical + vbOKOnly, "Eingabefehler ...": _
Exit Sub
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txtbox.setfocus (geht nicht, warum?)
03.10.2005 12:14:47
Matthias
Hallo Frank,
innerhalb der txtGebdat_Exit hat die Box ja noch den Focus.
Du setzt den Focus also (obwohl sie ihn eh' hat) und dann wird die Textbox trotzdem verlassen.
Verhindern kannst du das mit

Cancel = True

(statt frmEingabe.txtGebdat.SetFocus)
Gruß Matthias
AW: txtbox.setfocus (geht nicht, warum?)
03.10.2005 12:43:42
Frank
Hallo Matthias!
Vielen Dank für Deine Erklärung. Funktioniert einwandfrei.
Das Forum hier ist ja irre gut - schneller als die Polizei erlaubt.
:-)
Frank
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige