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

Forumthread: VBA Datum vergleichen

VBA Datum vergleichen
08.02.2018 06:44:39
Timo
Hallo zusammen
ich habe in Zelle U1 ein Datum drin, die über eine Linksformel erstellt ist:
Range("U1") = "=LEFT(RC[3],10)"
Jetzt möchte ich gerne eine Abfrage haben.
Ist das Datum Heute dann soll nix geschehen, wenn nicht dann soll die Meldung kommen Datum bitte aktualisieren.
Ich hab schon mal angefangen, aber ich bin leider ein blutiger Anfänger:
Dim Datum As Range
For Each Datum In Range("u1")
If Datum Date Then
Else
MsgBox "Datum bitte aktualisieren"
End If
Next Datum
Danke und hoffe jemand kann mir helfen.
Timo
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
If Range("u1")=Date ... owT
08.02.2018 07:14:32
Matthias
Danke
08.02.2018 07:22:44
Timo
...
AW: If Range("u1")=Date ... owT
08.02.2018 07:47:43
Timo
Hallo ,
jetzt habe ich es nochmal getestet und wenn das Datum heute ist kommt auch dieser Fehler
If Range("u1") = Date Then MsgBox "Daten sind nicht von Heute!" & vbNewLine & "Bitte Daten aktualisieren !!!", , "Fehler bei der Datenübertragung"
Anzeige
AW: mit ungleich
08.02.2018 07:57:00
hary
Moin
Nimm ungleich
If Range("u1")  Date Then 

gruss hary
AW: mit ungleich
08.02.2018 09:31:55
Timo
Hallo nochmal zusammen,
das ist der code:
With Range("U1")
.Formula = "=LEFT(RC[3],10)"
.Value = .Value
.NumberFormat = "m/d/yyyy"
End With
und ich wenn ich jetzt If Range("u1") Date Then nehme kommt auch bei heute 08.02.2018 die Fehlermeldung.
Anzeige
AW: mit ungleich
08.02.2018 09:43:41
Werner
Hallo Timo,
steht da wirklich ein Datum oder Text -hatte Matthias schon gefragt. Hast du das schon mal geprüft?
Versuch die Formel mal so:
.Formula = "=--LEFT(RC[3],10)"
Gruß Werner
jetzt geht es... Danke an alle
08.02.2018 11:33:47
Timo
.
Gerne u.Danke für die Rückmeldung. o.w.T.
08.02.2018 11:56:54
Werner
Anzeige
steht denn wirklich ein Datum in U1
08.02.2018 07:57:32
Matthias
oder evtl. doch Text?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA zum Vergleichen von Datumsangaben in Excel


Schritt-für-Schritt-Anleitung

Um ein Datum in Excel mit dem heutigen Datum zu vergleichen, kannst Du den folgenden VBA-Code verwenden. Dieser Code prüft, ob das Datum in Zelle U1 dem aktuellen Datum entspricht und gibt eine Meldung aus, wenn das Datum nicht aktuell ist.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen > Modul klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub DatumVergleichen()
        Dim Datum As Range
        Set Datum = Range("U1")
    
        ' Überprüfe, ob das Datum in U1 gleich dem heutigen Datum ist
        If Datum.Value <> Date Then
            MsgBox "Datum bitte aktualisieren", vbExclamation, "Fehler"
        End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem Du ALT + F8 drückst und DatumVergleichen auswählst.


Häufige Fehler und Lösungen

  • Fehler: „Daten sind nicht von Heute!“

    • Lösung: Stelle sicher, dass in Zelle U1 tatsächlich ein Datum und kein Text steht. Du kannst die Formel in U1 anpassen, indem Du sie wie folgt änderst:

      Range("U1").Formula = "=--LEFT(RC[3],10)"
  • Fehler: Die Meldung erscheint auch bei heutigem Datum

    • Lösung: Überprüfe das Datumsformat in Zelle U1. Es sollte als Datum formatiert sein, nicht als Text. Du kannst die Zelle auch manuell auf das Datum formatieren.

Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch Excel-Formeln verwenden, um Datumsangaben zu vergleichen.

  1. In einer Zelle (z.B. V1) kannst Du die folgende Formel verwenden:

    =WENN(U1<>HEUTE();"Datum bitte aktualisieren";"")
  2. Diese Formel gibt eine Warnung aus, wenn das Datum in U1 nicht dem heutigen Datum entspricht.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du den VBA-Code in einem realen Szenario verwenden kannst:

  • Angenommen, Du hast eine Tabelle mit verschiedenen Datensätzen, und in Spalte U werden die letzten Aktualisierungen gespeichert. Du möchtest sicherstellen, dass die Daten regelmäßig aktualisiert werden. Mit dem oben genannten VBA-Skript kannst Du schnell überprüfen, ob die Daten in U1 aktuell sind.

Tipps für Profis

  • Nutze die Format-Funktion in VBA, um sicherzustellen, dass das Datum im richtigen Format vorliegt. Zum Beispiel:

    Datum.Value = Format(Datum.Value, "mm/dd/yyyy")
  • Wenn Du mehrere Zellen auf einmal überprüfen möchtest, kannst Du eine Schleife verwenden, um durch einen Zellbereich zu iterieren.


FAQ: Häufige Fragen

1. Wie kann ich das Datum in Zelle U1 automatisch aktualisieren?
Du kannst die Worksheet_Change-Ereignisprozedur verwenden, um das Datum automatisch zu aktualisieren, wenn eine bestimmte Zelle geändert wird.

2. Was mache ich, wenn ich mehrere Datumsangaben vergleichen möchte?
Du kannst den Code anpassen, um durch einen Bereich von Zellen zu iterieren und jede Zelle mit dem heutigen Datum zu vergleichen.

3. Wie kann ich die Meldung anpassen, die angezeigt wird?
Ändere einfach den Text in der MsgBox-Anweisung im VBA-Code, um die gewünschte Nachricht anzuzeigen.

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