Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfen einer Datums Eingabe in eine Textbox

Forumthread: Prüfen einer Datums Eingabe in eine Textbox

Prüfen einer Datums Eingabe in eine Textbox
07.11.2003 17:30:35
Wolfgang Friese
Tach zusammen, ich habe auch ein Problem mit dem Prüfen einer Datumseingabe in eine Textbox. Bei der Lösung Ramses vom 04.11.2003 wird auch die Eingabe 12.12. bei mir als Datum akzetiert. Ich hätte aber gerne nur das Format "dd.mm.yy" als richtig erkannt, zusätzlich im gültigen Bereich 2000 - 2010.

Ich bin wahrscheinlich unverschämt, aber ich hätte es gern in folgenden funktionierenden Code (von Eberhard bei Herber) eingebaut.


Private Sub txteingang_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(txtEingang.Text) Then
MsgBox "Nur Datum bitte!"
txtEingang.Text = ""
Cancel = True
Exit Sub
End If
End Sub


Vielen Dank für Eure Hilfe!!

Gruß Wolfgang
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfen einer Datums Eingabe in eine Textbox
07.11.2003 22:51:39
Ramses
Hallo

das ist wohl tatsächlich ein kleiner Bug in EXCEL :-)
Schwache Leistung

Mach es so, dann geht es:


Private Sub txteingang_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim chkDot As Integer, i As Integer
chkDot = 0
For i = 1 To Len(Me.txtEingang.Value)
If Mid(Me.txtEingang.Text, i, 1) = "." Then
chkDot = chkDot + 1
End If
Next i
If chkDot < 2 Then
MsgBox "Nur Datum bitte!"
txtEingang.Text = ""
Cancel = True
Exit Sub
End If
If Not IsDate(txtEingang.Text) Then
MsgBox "Nur Datum bitte!"
txtEingang.Text = ""
Cancel = True
Exit Sub
End If
If Year(DateValue(Me.txtEingang)) < 2000 Or Year(DateValue(Me.txtEingang)) > 2010 Then
MsgBox "Datum ausserhalb des zulässigen Zeitraumes!"
txtEingang.Text = ""
Cancel = True
Exit Sub
End If
End Sub


Gruss Rainer

End Sub

Anzeige
AW: Prüfen einer Datums Eingabe in eine Textbox
10.11.2003 08:45:33
Wolfgang Friese
Vielen Dank Ramses, genau so habe ichg es mit vorgestellt. Komme nun endlich weiter
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datumsprüfung in einer Excel-Textbox


Schritt-für-Schritt-Anleitung

Um eine Datumsprüfung in einer Textbox in Excel durchzuführen, kannst du den folgenden VBA-Code verwenden. Dieser Code stellt sicher, dass nur Eingaben im Format "dd.mm.yy" akzeptiert werden und dass das Datum im Bereich von 2000 bis 2010 liegt.

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues UserForm hinzu oder öffne ein bestehendes.
  3. Füge eine Textbox (z.B. txtEingang) zu deinem UserForm hinzu.
  4. Kopiere den folgenden Code in das Code-Fenster des UserForms:
Private Sub txtEingang_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim chkDot As Integer, i As Integer
    chkDot = 0
    For i = 1 To Len(Me.txtEingang.Value)
        If Mid(Me.txtEingang.Text, i, 1) = "." Then
            chkDot = chkDot + 1
        End If
    Next i
    If chkDot < 2 Then
        MsgBox "Nur Datum bitte!"
        txtEingang.Text = ""
        Cancel = True
        Exit Sub
    End If
    If Not IsDate(txtEingang.Text) Then
        MsgBox "Nur Datum bitte!"
        txtEingang.Text = ""
        Cancel = True
        Exit Sub
    End If
    If Year(DateValue(Me.txtEingang)) < 2000 Or Year(DateValue(Me.txtEingang)) > 2010 Then
        MsgBox "Datum ausserhalb des zulässigen Zeitraumes!"
        txtEingang.Text = ""
        Cancel = True
        Exit Sub
    End If
End Sub
  1. Schließe den VBA-Editor und teste das UserForm.

Häufige Fehler und Lösungen

  • Problem: Eingabe wird nicht als Datum erkannt

    • Lösung: Stelle sicher, dass die Eingabe im Format "dd.mm.yy" erfolgt. Der Code prüft auf die Anzahl der Punkte und ob die Eingabe ein gültiges Datum darstellt.
  • Problem: Datumsbereich wird ignoriert

    • Lösung: Überprüfe, ob die Bedingungen für den Datumsbereich (2000-2010) korrekt im Code implementiert sind.
  • Problem: Fehlermeldung erscheint zu oft

    • Lösung: Achte darauf, dass die Textbox nach einer ungültigen Eingabe zurückgesetzt wird, um eine erneute Eingabe zu ermöglichen.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch Datenvalidierung in Excel verwenden:

  1. Wähle die Zelle aus, in der die Datumsprüfung stattfinden soll.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle Benutzerdefiniert und gib die Formel ein:
    =UND(ISTZAHL(A1), A1>=DATUM(2000,1,1), A1<=DATUM(2010,12,31))
  4. Setze die Eingabemeldung und Fehlermeldung nach Wunsch.

Praktische Beispiele

Hier sind einige Beispiele, wie der Code in verschiedenen Szenarien verwendet werden kann:

  • Beispiel 1: Eingabe von 12.12.2005 wird akzeptiert.
  • Beispiel 2: Eingabe von 15.03.2011 gibt die Fehlermeldung "Datum ausserhalb des zulässigen Zeitraumes!" aus.
  • Beispiel 3: Eingabe von 12.12 führt zur Meldung "Nur Datum bitte!".

Tipps für Profis

  • Optimiere deinen VBA-Code, indem du die Benutzeroberfläche ansprechender gestaltest und zusätzliche Fehlermeldungen einfügst.
  • Nutze Debug.Print, um Fehler im Code einfacher zu identifizieren.
  • Erstelle für häufige Datumsformate Vorlagen, die du wiederverwenden kannst.

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Datumsformat ändern?
Antwort: Du kannst das Datumsformat in der Textbox direkt anpassen, indem du die Formatierungsoptionen in VBA verwendest.

2. Frage
Funktioniert der Code in allen Excel-Versionen?
Antwort: Der bereitgestellte Code ist für Excel VBA ab Version 2000 geeignet. Achte darauf, dass du die jeweilige Version unterstützt.

3. Frage
Kann ich den Code für andere Eingabetypen verwenden?
Antwort: Ja, du kannst ähnliche Logik für andere Eingabetypen implementieren, indem du die entsprechenden Prüfungen anpasst.

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