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.
- Öffne dein Excel-Dokument und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues UserForm hinzu oder öffne ein bestehendes.
- Füge eine Textbox (z.B.
txtEingang
) zu deinem UserForm hinzu.
- 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
- 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:
- Wähle die Zelle aus, in der die Datumsprüfung stattfinden soll.
- Gehe zu
Daten
> Datenüberprüfung
.
- Wähle
Benutzerdefiniert
und gib die Formel ein:
=UND(ISTZAHL(A1), A1>=DATUM(2000,1,1), A1<=DATUM(2010,12,31))
- 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.