Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: TextBox Datum prüfen in UF

TextBox Datum prüfen in UF
Heike
Hallo,
ich mal wieder ;-)
habe folgenden Code, der dieTextBox3 auf die korrekte Eingabe des Datums prüft. Funktioniert auch einwandfrei! Nun erstelle ich aber weitere TextBoxen mit Eingabe des Datums und möchte nicht für jede einen Code erstellen.
Kann mir jemand diesen Code "umbauen"? Wäre wirklich klasse. Vielen Dank!
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox3
If IsDate(.Text) Then
.Text = CDate(.Text)
If .Text Like "##.##.####" Then
Exit Sub
End If
End If
End With
MsgBox "Eingabe nicht korrekt!"
Cancel = True 'springt wieder ins Feld
End Sub
Gruß
Heike
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: TextBox Datum prüfen in UF
30.04.2012 22:52:07
Gerd
Hallo Heike!
'für jede relevante Textbox
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Check_Datum(TextBox1) 'True --> springt wieder ins Feld
End Sub

Function Check_Datum(Tb As MSForms.TextBox) As Boolean
If IsDate(Tb.Text) Then
Tb.Text = CDate(Tb.Text)
If Tb.Text Like "##.##.####" Then Exit Function
End If
MsgBox "Eingabe nicht korrekt!"
Check_Datum = True 'springt wieder ins Feld
End Function
Falls dies pro Textbox noch zuviel Code ist, musst Du dich mit Klassenprogrammierung beschäftigen.
Gruß Gerd
Anzeige
AW: TextBox Datum prüfen in UF
30.04.2012 23:20:42
Heike
Hallo Gerd,
vielen Dank für den "Umbau", ist super, funktioniert einwandfrei!
Hätte da noch einen Wunsch ;-) Wenn das Datum verkehrt eingegeben wurde und der Cursor springt wieder in das Feld, kann dieses dann sofort markiert sein? Zurzeit steht der Cursor hinter den Falscheingaben.
Also, wenn das nicht sooo umständlich ist, wäre ich für eine Lösung dankbar!
Gruß
Heike
Anzeige
AW: TextBox Datum prüfen in UF
30.04.2012 23:36:15
Gerd
Hallo Heike,
so?
Function Check_Datum(Tb As MSForms.TextBox) As Boolean
If IsDate(Tb.Text) Then
Tb.Text = CDate(Tb.Text)
If Tb.Text Like "##.##.####" Then Exit Function
End If
MsgBox "Eingabe nicht korrekt!"
Check_Datum = True 'springt wieder ins Feld
Tb.SelStart = 0
Tb.SelLength = Len(Tb.Text)
End Function
Gruß Gerd
Anzeige
GELÖST :-))))
01.05.2012 00:03:11
Heike
ist das soooo klasse,
Hallo Gerd,
vielen vielen Dank dafür!
Wünsche allen einen schönen 1. Mai
Gruß
Heike
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

TextBox zur Datum-Prüfung in Excel VBA


Schritt-für-Schritt-Anleitung

Um ein Datum in einer TextBox in Excel VBA zu prüfen, kannst du den folgenden Code verwenden. Dieser Code ermöglicht es dir, mehrere TextBoxen zu überprüfen, ohne für jede einzelne einen eigenen Code zu schreiben.

  1. Öffne deine Excel-Datei und gehe in den VBA-Editor (Alt + F11).
  2. Füge ein UserForm hinzu, wenn du noch keins hast.
  3. Füge mehrere TextBoxen hinzu, z.B. TextBox1, TextBox2, etc.
  4. Verwende den folgenden Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Cancel = Check_Datum(TextBox1)
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Cancel = Check_Datum(TextBox2)
End Sub

Function Check_Datum(Tb As MSForms.TextBox) As Boolean
    If IsDate(Tb.Text) Then
        Tb.Text = CDate(Tb.Text)
        If Tb.Text Like "##.##.####" Then Exit Function
    End If
    MsgBox "Eingabe nicht korrekt!"
    Check_Datum = True 'springt wieder ins Feld
    Tb.SelStart = 0
    Tb.SelLength = Len(Tb.Text)
End Function

Dieser Code überprüft, ob das eingegebene Datum gültig ist und markiert automatisch den Inhalt der TextBox, falls die Eingabe nicht korrekt ist.


Häufige Fehler und Lösungen

  • Fehler: "Eingabe nicht korrekt!" erscheint, obwohl das Datum richtig eingegeben wurde.
    Lösung: Stelle sicher, dass das Datum im richtigen Format eingegeben wird. Der Code prüft, ob das Datum dem Format "TT.MM.JJJJ" entspricht.

  • Fehler: Der Cursor springt nicht an den Anfang der TextBox.
    Lösung: Überprüfe, ob du die Zeile Tb.SelStart = 0 und Tb.SelLength = Len(Tb.Text) im Code hast. Diese Zeilen setzen den Cursor an den Anfang der TextBox.


Alternative Methoden

Falls du eine andere Methode zur Überprüfung von Datumswerten in Excel verwenden möchtest, kannst du auch die Data Validation-Funktion nutzen. Hier ist eine kurze Anleitung:

  1. Wähle die Zelle oder TextBox aus, in der das Datum eingegeben werden soll.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle Datum als Kriterium und definiere die gewünschten Bedingungen (z.B. zwischen zwei Daten).

Dies ist zwar nicht so flexibel wie VBA, aber eine einfache Lösung für grundlegende Anforderungen.


Praktische Beispiele

Hier sind einige Beispiele, wie du den Code anpassen kannst:

  • Überprüfung auf ein bestimmtes Datumsformat: Wenn du beispielsweise sicherstellen möchtest, dass das Datum immer im Format "JJJJ-MM-TT" eingegeben wird, kannst du die Like-Bedingung entsprechend anpassen.
If Tb.Text Like "####-##-##" Then Exit Function
  • Feld zurücksetzen: Wenn du möchtest, dass das Textfeld zurückgesetzt wird, wenn die Eingabe nicht korrekt ist, kannst du die Zeile Tb.Text = "" hinzufügen.

Tipps für Profis

  • Module nutzen: Wenn du viele TextBoxen hast, erwäge, den Code in ein Modul auszulagern. Dadurch bleibt dein UserForm-Code übersichtlich.
  • Klassenprogrammierung: Wenn du mit vielen Eingabefeldern arbeitest, kann es sinnvoll sein, Klassen in VBA zu verwenden, um die Wartbarkeit des Codes zu erhöhen.
  • Eingabemasken: Du kannst auch Eingabemasken implementieren, um die Benutzerfreundlichkeit zu erhöhen und sicherzustellen, dass die Daten im richtigen Format eingegeben werden.

FAQ: Häufige Fragen

1. Wie kann ich das Datumsformat ändern?
Du kannst das Datumsformat im Code anpassen, indem du die Like-Bedingung in der Check_Datum-Funktion änderst.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in allen modernen Excel-Versionen ab Excel 2007 funktionieren, solange du den VBA-Editor korrekt verwendest.

3. Was soll ich tun, wenn die TextBox nicht markiert wird?
Überprüfe, ob die Zeilen zur Markierung der TextBox im Check_Datum-Code vorhanden sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige