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
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
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
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
noch eine Variante ohne die aktuelle Jahreszahl in der Tabelle:
If Date > CDate("3.1." & Year(Now)) Then
Gruß
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
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.
Fehler: Laufzeitfehler 13 - Typen unverträglich
CDate
-Funktion, um sicherzustellen, dass der String in ein Datum umgewandelt wird.Fehler: Zelle F1 leer
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
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.
Beispiel 1: Überprüfung eines spezifischen Datums
If Date > CDate("01.03." & Year(Now)) Then
MsgBox "Der 1. März ist vorbei."
End If
Beispiel 2: Dynamische Eingabe über ein Eingabefeld
If Date > CDate(Range("A1").Value) Then
MsgBox "Das eingegebene Datum ist vorbei."
End If
Option Explicit
am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.MsgBox
-Funktion, um informative Nachrichten auszugeben, wenn ein Datum abgelaufen ist. Das verbessert die Benutzerfreundlichkeit.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen