Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Bestimmtes Datum schon vorbei?

Forumthread: VBA: Bestimmtes Datum schon vorbei?

VBA: Bestimmtes Datum schon vorbei?
06.04.2003 21:07:54
Franz W.
Guten Abend Forum,

ich habe ein VBA-Frage: wie bitte muss die Abfrage lauten, ob ein bestimmtes Datum schon vorbei ist? Sinngemäß:

If Date > "01.03." Then
MsgBox "Datum vorbei"
End If

Für Antworten vielen Dank im Voraus

Gruß
Franz

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA: Bestimmtes Datum schon vorbei?
06.04.2003 21:11:47
andre

hallo franz,
war fast alles da:
If Date > CDate("01.03.03") Then
MsgBox "Datum vorbei"
End If
gruss andre

Re: VBA: Bestimmtes Datum schon vorbei?
06.04.2003 21:17:49
Franz W.

Hallo Andre,

vielen Dank für Deine Hilfe, klappt gut so. Aber dass ich in meiner Frage keine Jahreszahl eingetragen habe, war Absicht. Das sollte nämlich dynamisch sein, d.h. sich immer auf das aktuelle Jahr beschränken. Hättest Du dafür bitte auch noch eine Lösung?

Gruß
Franz

Anzeige
Problem gelöst...
06.04.2003 21:20:00
Franz W.

Hallo Andre,

habe eine Lösung gefunden: die aktuelle Jahreszahl steht in F1:

If Date > CDate("01.03." & Range("F1")) Then
MsgBox "Datum vorbei"
End If

Danke für Deine Hilfe, ohne die wär's nicht gegangen.

Vielen Dank und Gruß
Franz

Re: Problem gelöst...
06.04.2003 21:21:09
PeterW

Hallo Franz,

noch eine Variante ohne die aktuelle Jahreszahl in der Tabelle:
If Date > CDate("3.1." & Year(Now)) Then

Gruß
Peter

Anzeige
Re: Problem gelöst...
06.04.2003 21:26:11
Franz W.

Hallo Peter,

vielen Dank für den Tipp. Es lässt sich also einiges aus Excelformeln ins Englische übersetzt auf VBA übertragen.

Herzlichen Dank und schönen Abend
Franz


;
Anzeige

Infobox / Tutorial

Überprüfung eines Datums mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob ein bestimmtes Datum bereits vergangen ist, kannst Du den folgenden VBA-Code verwenden:

If Date > CDate("01.03.03") Then
    MsgBox "Datum vorbei"
End If

Falls Du das Datum dynamisch gestalten möchtest, so dass es sich immer auf das aktuelle Jahr bezieht, kannst Du den Code wie folgt anpassen:

If Date > CDate("01.03." & Range("F1").Value) Then
    MsgBox "Datum vorbei"
End If

Hierbei wird das aktuelle Jahr aus der Zelle F1 entnommen. Achte darauf, dass das Datum im richtigen Format eingegeben wird.


Häufige Fehler und Lösungen

  1. Fehler: Laufzeitfehler 13 - Typen unverträglich

    • Lösung: Stelle sicher, dass das Datum im richtigen Format vorliegt. Verwende die CDate-Funktion, um sicherzustellen, dass der String in ein Datum umgewandelt wird.
  2. Fehler: Zelle F1 leer

    • Lösung: Überprüfe, ob die Zelle F1 tatsächlich ein Jahr enthält, bevor Du den Code ausführst. Füge eine Validierung hinzu:
    If IsEmpty(Range("F1").Value) Then
       MsgBox "Bitte Jahr in Zelle F1 eingeben"
    Else
       If Date > CDate("01.03." & Range("F1").Value) Then
           MsgBox "Datum vorbei"
       End If
    End If

Alternative Methoden

Du kannst auch die Year(Now)-Funktion verwenden, um das aktuelle Jahr zu ermitteln, ohne es in die Tabelle einzutragen:

If Date > CDate("3.1." & Year(Now)) Then
    MsgBox "Datum vorbei"
End If

Diese Methode ist besonders nützlich, wenn Du keine zusätzlichen Zellen in Deiner Tabelle verwenden möchtest.


Praktische Beispiele

  1. Beispiel 1: Überprüfung eines spezifischen Datums

    • Überprüfe, ob der 1. März des aktuellen Jahres bereits vergangen ist:
    If Date > CDate("01.03." & Year(Now)) Then
       MsgBox "Der 1. März ist vorbei."
    End If
  2. Beispiel 2: Dynamische Eingabe über ein Eingabefeld

    • Der Benutzer gibt das Datum in ein Eingabefeld (z.B. A1) ein, und Du überprüfst, ob dieses Datum bereits vergangen ist:
    If Date > CDate(Range("A1").Value) Then
       MsgBox "Das eingegebene Datum ist vorbei."
    End If

Tipps für Profis

  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Nutze die MsgBox-Funktion, um informative Nachrichten auszugeben, wenn ein Datum abgelaufen ist. Das verbessert die Benutzerfreundlichkeit.
  • Experimentiere mit verschiedenen Datumsformaten, um sicherzustellen, dass Dein Code in verschiedenen regionalen Einstellungen funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich die Abfrage auf ein anderes Datum anpassen? Du kannst das Datum in der CDate-Funktion einfach ändern, zum Beispiel:

If Date > CDate("15.04." & Year(Now)) Then
    MsgBox "Der 15. April ist vorbei."
End If

2. Was passiert, wenn das Datum im falschen Format eingegeben wird? Wenn das Datum nicht im richtigen Format vorliegt, wird ein Laufzeitfehler ausgelöst. Verwende die CDate-Funktion, um sicherzustellen, dass der String in ein Datum umgewandelt wird, und überprüfe vorher das Format.

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