Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfen, ob eingabe in einem bestimmten Format ist

Forumthread: Prüfen, ob eingabe in einem bestimmten Format ist

Prüfen, ob eingabe in einem bestimmten Format ist
24.02.2005 11:42:16
Sebastian
Hallo Excel-Freunde,
in meiner UserForm gibt der User in eine TextBox einen Wert ein. Dieser Wert muß im Format TT.MM.JJ (T=Tag, M=Monat, J=Jahr) sein. Gibt es eine Möglichkeit, prüfen zu lassen, ob dieses Format eingehalten wurde?
Danke für eure Hilfe im Voraus.
MfG
Sebastian
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfen, ob eingabe in einem bestimmten Format
24.02.2005 11:59:59
MichaelS
Hi,
If DeineTextBox = Format(Date,"dd.mm.yy") Then ...
test it
Michael
Danke. It works. Super. (o.T.)
24.02.2005 12:41:58
Sebastian
.
Anzeige
Anzeige

Infobox / Tutorial

Prüfen von Eingaben im Format TT.MM.JJ in Excel


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob die Eingabe in einer TextBox im Format TT.MM.JJ vorliegt, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird in der UserForm implementiert, die Du in Excel erstellt hast:

  1. Öffne die UserForm in Deinem Excel-Projekt.

  2. Klicke mit der rechten Maustaste auf die TextBox, in der der Benutzer die Eingabe machen soll.

  3. Wähle "Code anzeigen".

  4. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub DeineTextBox_AfterUpdate()
       If Not IsDate(DeineTextBox.Value) Then
           MsgBox "Bitte geben Sie das Datum im Format TT.MM.JJ ein."
           DeineTextBox.SetFocus
       ElseIf Format(CDate(DeineTextBox.Value), "dd.mm.yy") <> DeineTextBox.Value Then
           MsgBox "Das Datum entspricht nicht dem Format TT.MM.JJ."
           DeineTextBox.SetFocus
       End If
    End Sub
  5. Schließe den VBA-Editor und teste die UserForm.

Mit diesem Code wird überprüft, ob die Eingabe ein gültiges Datum ist und ob es im gewünschten Format vorliegt.


Häufige Fehler und Lösungen

  • Fehler: Eingabe wird als Datum akzeptiert, entspricht aber nicht dem Format.

    • Lösung: Stelle sicher, dass Du die Formatierung des Datums im Code korrekt prüfst. Der verwendete Format-Befehl sollte das richtige Format zurückgeben.
  • Fehler: Die MsgBox wird nicht angezeigt.

    • Lösung: Überprüfe, dass der Code im AfterUpdate-Ereignis der TextBox korrekt platziert ist und die TextBox den richtigen Namen hat.

Alternative Methoden

Wenn Du keine UserForms verwenden möchtest, kannst Du auch die Datenvalidierung in Excel nutzen:

  1. Wähle die Zelle oder den Zellbereich aus.
  2. Gehe zu "Daten" > "Datenüberprüfung".
  3. Wähle "Benutzerdefiniert" und gebe die folgende Formel ein:

    =ISTFEHLER(DATUM(WERT(RECHTS(A1;2));WERT(MITTEL(A1;4;2));WERT(LINKS(A1;2)))=A1)

Das sorgt dafür, dass nur gültige Daten im Format TT.MM.JJ eingegeben werden können.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den obigen Code in verschiedenen Szenarien verwenden kannst:

  • Beispiel 1: Wenn ein Benutzer 25.12.23 eingibt, wird die MsgBox nicht angezeigt, da das Datum im richtigen Format vorliegt.
  • Beispiel 2: Bei der Eingabe von 25.12.2023 wird eine Fehlermeldung angezeigt, da das Format nicht TT.MM.JJ ist.
  • Beispiel 3: Bei der Eingabe von 32.13.23 wird ebenfalls eine Fehlermeldung angezeigt, da es kein gültiges Datum ist.

Tipps für Profis

  • Verwende reguläre Ausdrücke: Wenn Du genauere Formatprüfungen durchführen möchtest, kannst Du die RegExp-Klasse in VBA verwenden, um sicherzustellen, dass das Datum genau dem Format TT.MM.JJ entspricht.

  • Fehlerprotokollierung: Du kannst auch ein Protokoll in einer separaten Tabelle führen, um alle ungültigen Eingaben zu speichern. Das hilft bei der Analyse und Verbesserung der Benutzeroberfläche.


FAQ: Häufige Fragen

1. Frage
Kann ich die Eingabe auch direkt in einer Excel-Zelle überprüfen?
Antwort: Ja, Du kannst die Datenvalidierung nutzen, um sicherzustellen, dass nur gültige Datumswerte im Format TT.MM.JJ eingegeben werden.

2. Frage
Wie kann ich den Code anpassen, wenn ich ein anderes Format benötige?
Antwort: Ändere einfach die Formatierung im Format-Befehl auf das gewünschte Datumsformat, z.B. dd-mm-yyyy für das Format TT-MM-JJ.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige