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

Forumthread: Datum-Abfrage (benutzerdefiniertes Format) mit VBA

Datum-Abfrage (benutzerdefiniertes Format) mit VBA
26.06.2018 13:47:31
Bernhard
Hallo zusammen,
ich konnte bisher alle Fragen, die ich über VBA durch Nachlesen in diesem Forum oder Tante Google klären. Mit den Problemchen, die ich bisher hatte war ich wohl nicht alleine. ;) Dieses Forum ist echt der Wahnsinn!
Mit meinem aktuellen Problem kam ich bisher jedoch nicht mit Nachlesen zum Ziel, weshalb ich nun meinen ersten Beitrag schreiben muss.
Es geht darum, dass ich eine automatisch erstellte Tabelle mit Werten Fülle. In der ersten Spalte befinden sich Zeitstempel mit dem Format "dd.mm.yyyy hh:mm:ss". Ich möchte dann über eine UserForm an einem bestimmten Zeitpunkt Werte zum passenden Zeitstempel eintragen. Dazu habe ich ein Textfeld (TextFeld_date) in dem ich Das Datum und die Uhrzeit nach dem zuvor genannten Format eintrage.
Als Überprüfung habe ich mir zunächst einmal den unten genannten Code geschrieben um zu sehen, ob der Abgleich generell funktioniert. Es funktioniert leider nicht. Egal was ich versuche; irgendein Problem gibt es immer mit den Formaten.
Habt ihr vielleicht eine Idee, was ich machen könnte? Vielen Dank bereits im Voraus!!
Liebe Grüße
Bernhard

Private Sub Uebernehmen_Click()
Tabelle1.Columns("A").NumberFormat = "dd.mm.yyyy hh:mm:ssss"
TextBox_date = Format(TextBox_date, "dd.mm.yyyy hh:mm:ss")
If TextBox_date.Text = Range("A2").Value Then
MsgBox ("JA")
Else
MsgBox ("NEIN")
End If
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datum-Abfrage (benutzerdefiniertes Format) mit VBA
26.06.2018 14:05:18
Torsten
Also das erste, was mir auffaellt ist, 2 s zu viel in Zeile
Tabelle1.Columns("A").NumberFormat = "dd.mm.yyyy hh:mm:ssss"
AW: Datum-Abfrage (benutzerdefiniertes Format) mit VBA
26.06.2018 14:13:45
EtoPHG
Hallo,
Es funktioniert leider nicht. Ist eine informationslose Floskel.
Bei einem Test, funktioniert es unter deiner XL Version problemlos, wenn die beiden Daten in Zelle A2 und der Textbox übereinstimmen.
Gruess Hansueli
Anzeige
AW: Datum-Abfrage (benutzerdefiniertes Format) mit VBA
26.06.2018 14:14:46
Bernhard
Vielen Dank, Torsten. Ich habe es geändert. Dazu habe ich auch noch einen blöden Fehler gemacht. Die Zeitstempel beginnen erst in Zeile 5. Wenn ich es anpasse funktioniert es wunderbar. Manchmal sieht man vor lauter Bäumen den Wald kaum!
Danke und liebe Grüße. :)
AW: Datum-Abfrage (benutzerdefiniertes Format) mit VBA
26.06.2018 14:26:14
Torsten
Das ist wohl war.
;
Anzeige
Anzeige

Infobox / Tutorial

Datum-Abfrage mit benutzerdefiniertem Format in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine UserForm:

    • Gehe zu "Entwicklertools" und wähle "Visual Basic".
    • Füge eine UserForm hinzu und platziere ein Textfeld (TextBox_date) sowie einen Button (Uebernehmen).
  2. VBA-Code einfügen:

    • Klicke doppelt auf den Button und füge den folgenden Code ein:
    Private Sub Uebernehmen_Click()
       Tabelle1.Columns("A").NumberFormat = "dd.mm.yyyy hh:mm:ss"
       TextBox_date = Format(TextBox_date, "dd.mm.yyyy hh:mm:ss")
       If TextBox_date.Text = Range("A5").Value Then
           MsgBox ("JA")
       Else
           MsgBox ("NEIN")
       End If
    End Sub
  3. Formatierung überprüfen:

    • Achte darauf, dass die Zeitstempel in der Excel-Tabelle im Format "dd.mm.yyyy hh:mm:ss" vorliegen.
  4. Testen:

    • Trage ein Datum und eine Uhrzeit in die TextBox ein und klicke auf "Übernehmen". Die Ausgabe sollte "JA" oder "NEIN" sein, je nachdem, ob das Datum übereinstimmt.

Häufige Fehler und Lösungen

  • Fehler: Ungültiges Datum:

    • Stelle sicher, dass das Datum im Textfeld genau dem Format "dd.mm.yyyy hh:mm:ss" entspricht. Überprüfe auch, ob die Zeitstempel in deiner Tabelle richtig formatiert sind.
  • Fehler: Falsche Zeile:

    • Achte darauf, dass du in der Zeile, die du prüfst, tatsächlich gültige Zeitstempel hast. In dem Beispiel hier beginnt die Prüfung ab Zeile 5.
  • Fehler: Zu viele "s" in der Formatierung:

    • Überprüfe den Code. In der Zeile Tabelle1.Columns("A").NumberFormat sollte das Format "dd.mm.yyyy hh:mm:ss" sein, nicht "dd.mm.yyyy hh:mm:ssss".

Alternative Methoden

  • Verwendung von Excel-Funktionen:

    • Du kannst auch die Excel-Funktion TEXT() verwenden, um das Datum zu formatieren, bevor du es in die Tabelle eingibst.
  • Direkte Eingabe in die Zelle:

    • Anstatt eine UserForm zu verwenden, kannst du auch direkt in die Zelle schreiben und die Formatierung dort überprüfen.

Praktische Beispiele

  • Beispiel 1:

    • Wenn in Zelle A5 der Zeitstempel "01.01.2023 12:00:00" steht und du im Textfeld "01.01.2023 12:00:00" eingibst, sollte die Meldung "JA" erscheinen.
  • Beispiel 2:

    • Wenn du "01.01.2024 12:00:00" eingibst, wird die Meldung "NEIN" erscheinen, da dies nicht übereinstimmt.

Tipps für Profis

  • Debugging:

    • Nutze Debug.Print im Code, um die Werte auszugeben, die in der TextBox und der Zelle stehen. So kannst du leichter Fehler finden.
  • Formatierung optimieren:

    • Du kannst auch die Formatierung in Excel anpassen, um sicherzustellen, dass alle Zeitstempel korrekt angezeigt werden.
  • VBA-Fehlerbehandlung:

    • Implementiere eine Fehlerbehandlung im Code, um unerwartete Eingaben abzufangen und dem Benutzer eine hilfreiche Meldung zu geben.

FAQ: Häufige Fragen

1. Was mache ich, wenn das Datum nicht erkannt wird? Überprüfe, ob das Datum im richtigen Format eingegeben wurde. Es muss exakt "dd.mm.yyyy hh:mm:ss" sein.

2. Kann ich das Format auch ändern? Ja, du kannst das Format in der Zeile Tabelle1.Columns("A").NumberFormat anpassen, um unterschiedliche Datumsformate zu unterstützen.

3. Funktioniert das auch in älteren Excel-Versionen? Ja, der beschriebene Code sollte in den meisten Excel-Versionen ab Excel 2007 funktionieren, solange VBA unterstützt wird.

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