Excel VBA: bestimmtes Datum überschritten, dann Warnmeldung?
Hallo,
ich habe das aktuelle Datum +6 Monate -1 Tag und möchte wenn dies in einer Spalte überschritten wird, dass es Warnmeldung aufploppt.
Ich habe es geschafft, dass es genau an dem Tag passiert, aber nicht noch die folgenden Tage, wenn es nicht behoben wurde.
Vielen Dank
1 Antwort
Hallo,
wenn es behoben wird, wird dann das Datum in der Spalte geändert? Falls Ja sollte es reichen
if Date3 = Cells(K, 7).[...] then
in
if Date3 <= Cells(K,7).[...] then
zu ändern.
Falls Nein, wie unterscheidet sich eine bhobene Spalte von einer nicht behobenen nach Ablauf des Datum?
aktuell: wenn die Versicherung in GENAU 6 Monaten ausläuft kommt die Meldung
Ziel: wenn die Versicherung in 6 Monaten oder weniger ausläuft, kommt die Meldung
Der Laufzeitfehler triit hier auf
Cells(K, 7).Find(date3)
was übersetzt heißt bei K=6 Suche den Wert von Date3 in Zelle G6. Wenn das nicht das Zieldatum ist wie du es vorher abgefragt hast sondern ein früheres ist, kann er es logischerweise nicht finden und es kommt zu dem Fehler. Du brauchst das .Find() aber sowieso nicht, da du Zeilenposition ja sowieso schon über K bestimmt hast^^:
So sollte es funktionieren, (wenn ich deinen Tabellenaufbau richtig vermute):
Private Sub Workbook_Open()
Dim K As Integer
date2 = DateAdd("m", -6, Date)
date3 = DateAdd("d", 1, date2)
For K = 6 To 1000
If date3 <= Cells(K, 7).Value And Cells(K, 7).Value <> "" Then
zellefinden = Cells(K, 7).Offset(0, -2).Value
MsgBox "Die Versicherung: " & zellefinden & " erreicht das Datum der Wiedervorlage in weniger als 6 Monaten am " & Cells(K, 7).Value, vbExclamation, "Achtung Datumüberschritten"
End If
Next K
End Sub
Vielen Dank :) Perfekt...habe es verstanden. Ein schönes Wochenende
Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt
Wenn das Datum erreicht wird, muss die Versicherung gekündigt oder verlängert werden. Bei Änderung ist das neue Datum weiter in der Zukunft und ist 1-2Jahre "sicher". Wenn man es nicht direkt verlängert, soll man jeden Tag weiterhin erinnert werden, bis man es macht