Supportnet / Forum / Tabellenkalkulation
VBA - Datum überprüfen
Frage
Hallo,
ich sitze nun schon seit mehreren Stunden an einem dicken Problem.
Und zwar habe ich eine Exceldatei, in der zwei Tabellen stehen.
In Tabelle 1 steht in jeder Zeile eine Kundennummer, in Tabelle 2 stehen wiederum dieselben Kundennummer und desweiteren auch ab und zu pro Zeile einige Daten (Datum).
Nun möchte ich per VBA ein Script schreiben, was automatisch jedes Datum aus einer Zeile in Tabelle2 ausliest und überprüft, ob dieses älter als 90 Tage ist (verglichen mit dem aktuelle Datum --> Jetzt()). Wenn eines der Daten abgelaufen ist, soll das Makro dann neben die zugehörige Kundennummer in Tabelle1 ein "Abgelaufen" schreiben, ansonsten ein "ok".
Ist sowas Möglich? Kann mir vielleicht jemand ein paar Tipps geben, wie ich das verwirklichen kann?
Das Problem ist, dass ich bisher noch nicht viel mit VBA gearbeitet habe :(
MfG NeoX
Antwort 1 von nighty
hi all :)
eine formel vielleicht :)
gruss nighty
=WENN(TAGE360(A1;JETZT())>89;"Abgelaufen";"Gültig")
eine formel vielleicht :)
gruss nighty
=WENN(TAGE360(A1;JETZT())>89;"Abgelaufen";"Gültig")
Antwort 2 von Neox
Naja, bei Formeln habe ich das Problem, wenn jetzt mittendrin eine Zeile eingefügt wird, enthält diese nicht diese Formel.
Und meineswissens ist es ja nicht Möglich, eine Formel auf eine ganze Spalte anzuwenden, so dass sie auch noch wirkt, wenn mittendrin eine Zeile hinzugefügt wurde.
Oder?
MfG Neox
Und meineswissens ist es ja nicht Möglich, eine Formel auf eine ganze Spalte anzuwenden, so dass sie auch noch wirkt, wenn mittendrin eine Zeile hinzugefügt wurde.
Oder?
MfG Neox
Antwort 3 von nighty
hi Neox :)
dann ein makrobeispiel
gruss nighty
Sub Gültig()
Dim zaehler As Long
For zaehler = 2 To Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
If Sheets(1).Cells(zaehler, 1) + 90 < Date - 90 Then
Sheets(1).Cells(zaehler, 2) = "Abgelaufen"
Else
Sheets(1).Cells(zaehler, 2) = "Nicht abgelaufen"
End If
Next zaehler
End Sub
dann ein makrobeispiel
gruss nighty
Sub Gültig()
Dim zaehler As Long
For zaehler = 2 To Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
If Sheets(1).Cells(zaehler, 1) + 90 < Date - 90 Then
Sheets(1).Cells(zaehler, 2) = "Abgelaufen"
Else
Sheets(1).Cells(zaehler, 2) = "Nicht abgelaufen"
End If
Next zaehler
End Sub