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
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