Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum mit Heute vergleichen

Datum mit Heute vergleichen
12.02.2017 20:51:20
Edwin
Hallo,
ich blicke es nicht.
In txtDatum steht der 01.02.2016 drin, also eindeutig kleiner als heute.
If txtDatum < CDate(Date) Then
MsgBox "txtDatum ist kleiner"
End If
Erst wenn ich txtDatum > CDate(Date) oder txtDatum > Date schreibe, kommt meine MsgBox.
Sorry, ich habe mich jetzt ganz unglücklich gegoogelt, finde aber den Fehler nicht.
LG
Edwin
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datum mit Heute vergleichen
12.02.2017 21:02:22
Andre´
Hallo Edwin,
probier mal:
Sub Test()
Dim txt As Date
txt = "01.02.2016"
If txt 

MFG Andre
AW: Datum mit Heute vergleichen
12.02.2017 21:33:11
Edwin
Hallo,
es geht so auch nicht.
Könnte es etwas damit zu tun haben?
Bei txtDatum_Exit habe ich noch diese Formatierung drin.
txtDatum = Format(txtDatum , "dd.mm.yyyy")
Und nein, die Datei darf ich nicht senden.
LG
Edwin
Anzeige
AW: Datum mit Heute vergleichen
12.02.2017 21:08:06
onur
Hi,
Komisch, bei mir läuft es.
Kannst du die datei mal posten?
Gruß
Onur
AW: Datum mit Heute vergleichen
12.02.2017 21:46:07
Edwin
Ich habe die Lösung!
Ich habe das zweite Bier aufgemacht und dann funktioniert.
If txtDatum < CDate(Date) Then
MsgBox "txtDatum ist kleiner"
End If
Das mach ich beim nächsten Problem gleich so.
Ob ich es beim dritten Bier kapiere, warum es jetzt geht? ;-)
LG
Edwin
Anzeige
;

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

Datum mit Heute vergleichen in Excel und VBA


Schritt-für-Schritt-Anleitung

Um in Excel oder VBA ein Datum mit dem heutigen Datum zu vergleichen, kannst du die folgende Schritt-für-Schritt-Anleitung verwenden:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder öffne ein bestehendes.

  2. Gib das Datum, das du vergleichen möchtest, in eine Zelle ein (z.B. A1).

  3. Öffne den Visual Basic for Applications (VBA)-Editor mit ALT + F11.

  4. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul".

  5. Schreibe den folgenden VBA-Code:

    Sub DatumVergleichen()
       Dim txtDatum As Date
       txtDatum = Range("A1").Value
    
       If txtDatum < Date Then
           MsgBox "Das Datum ist kleiner als heute."
       ElseIf txtDatum > Date Then
           MsgBox "Das Datum ist größer als heute."
       Else
           MsgBox "Das Datum ist heute."
       End If
    End Sub
  6. Führe das Makro aus und überprüfe die Ergebnisse in den MsgBoxen.


Häufige Fehler und Lösungen

  • Fehler: Datumsformat nicht erkannt

    • Lösung: Stelle sicher, dass das Datum im richtigen Format vorliegt. Verwende CDate, um sicherzustellen, dass Excel das Datum korrekt interpretiert.
  • Fehler: MsgBox zeigt falsches Ergebnis

    • Lösung: Überprüfe, ob die Zelle A1 tatsächlich ein Datum enthält und nicht als Text formatiert ist. Verwende Format, um das Datum richtig zu formatieren.
  • Fehler: Der Vergleich funktioniert nicht

    • Lösung: Achte darauf, dass du die Datumsvariablen korrekt definierst und den richtigen Vergleichsoperator verwendest (z.B. <, >, =).

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch Excel-Formeln nutzen, um ein Datum mit dem heutigen Datum zu vergleichen:

  • Formel für kleiner als heute:

    =WENN(A1 < HEUTE(); "Das Datum ist kleiner als heute."; "")
  • Formel für größer als heute:

    =WENN(A1 > HEUTE(); "Das Datum ist größer als heute."; "")
  • Formel für heute:

    =WENN(A1 = HEUTE(); "Das Datum ist heute."; "")

Praktische Beispiele

  1. Beispiel 1: Vergleich in VBA Wenn du eine Liste von Daten hast, kannst du eine Schleife verwenden, um alle Daten zu vergleichen:

    Sub DatumsVergleichListe()
       Dim i As Integer
       For i = 1 To 10 ' Beispiel: Vergleiche die ersten 10 Daten
           If Cells(i, 1).Value < Date Then
               Cells(i, 2).Value = "Kleiner als heute"
           ElseIf Cells(i, 1).Value > Date Then
               Cells(i, 2).Value = "Größer als heute"
           Else
               Cells(i, 2).Value = "Heute"
           End If
       Next i
    End Sub
  2. Beispiel 2: Anwendung in Access Wenn du Access verwendest, kannst du ein ähnliches Konzept mit SQL-Abfragen umsetzen:

    SELECT * FROM DeineTabelle WHERE DeinDatum < Date();

Tipps für Profis

  • Verwende Formatierungen: Achte darauf, dass du Datumswerte immer im korrekten Format speicherst, um Fehler zu vermeiden.
  • Nutze VBA-Funktionen: Funktionen wie CDate können helfen, Text in Datumswerte zu konvertieren.
  • Debugging: Verwende Debug.Print, um Werte während der Ausführung des Codes zu überprüfen und sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Kann ich auch ein Datum in einer anderen Zeitzone vergleichen? Ja, du kannst das Datum entsprechend der Zeitzone konvertieren, bevor du den Vergleich machst.

2. Wie kann ich mehrere Datumswerte gleichzeitig vergleichen? Du kannst eine Schleife in VBA verwenden, um alle Datumswerte in einem bestimmten Bereich zu vergleichen.

3. Was passiert, wenn das Datum als Text formatiert ist? In diesem Fall wird der Vergleich nicht korrekt durchgeführt. Stelle sicher, dass das Datum als Datum und nicht als Text formatiert ist.

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