Ich arbeite innerhalb eines Makros mit Filtern, ich bräuchte jetzt noch eine Lösung wie ich dort das aktuelle Datum minus 5 Jahre eingebe.
Hat da Jemand eine Lösung für mich?
Danke
Modolo
Dim Datum As Date
Datum = DateSerial(Year(Date) - 5, Month(Date), Day(Date))
'Beispiel für Tabelle1
'Datum befindet sich in Spalte A
With Tabelle1
.UsedRange.AutoFilter 1, ">=" & CLng(Datum), , , False
End With
Gruß Tino
Um das aktuelle Datum in Excel VBA um 5 Jahre zu reduzieren, kannst du folgende Schritte befolgen:
Öffne den VBA-Editor in Excel (drücke ALT + F11
).
Füge ein neues Modul hinzu (Rechtsklick auf "DieseArbeitsmappe" -> "Einfügen" -> "Modul").
Kopiere den folgenden Code in das Modul:
Sub DatumMinusFuenfJahre()
Dim d As Date
d = Date
d = DateSerial(Year(d) - 5, Month(d), Day(d))
MsgBox Format(d, "dd.mm.yyyy")
End Sub
Schließe den VBA-Editor und führe das Makro aus, um das Datum 5 Jahre in der Vergangenheit anzuzeigen.
Fehler: "Typkonflikt": Stelle sicher, dass du die Variable d
als Date
deklariert hast.
Lösung für Autofilter: Wenn du das Datum als Kriterium für einen Autofilter verwenden möchtest, benutze:
criteria1:=CDbl(DateSerial(Year(Date) - 5, Month(Date), Day(Date)))
Fehler beim Ausführen: Wenn das Makro nicht ausgeführt wird, überprüfe, ob du den richtigen Code in das Modul eingefügt hast.
Falls du in Excel ohne VBA arbeiten möchtest, kannst du auch eine Formel verwenden:
In einer Zelle kannst du folgende Formel eingeben:
=EDATUM(HEUTE();-60)
Diese Formel subtrahiert 5 Jahre (60 Monate) vom aktuellen Datum.
Um das Datum in einer Zelle zu addieren, kannst du die Formel =HEUTE()+5*365
verwenden, was das aktuelle Datum um 5 Jahre erhöht.
Hier ist ein Beispiel, wie du das Datum 5 Jahre in einem Autofilter verwenden kannst:
Sub FilterMitDatum()
Dim Datum As Date
Datum = DateSerial(Year(Date) - 5, Month(Date), Day(Date))
With Tabelle1
.UsedRange.AutoFilter 1, ">=" & CLng(Datum), , , False
End With
End Sub
In diesem Beispiel wird die Tabelle gefiltert, sodass nur die Daten ab dem Datum angezeigt werden, das 5 Jahre in der Vergangenheit liegt.
vba datumsfunktionen
, um komplexere Datumsberechnungen durchzuführen.CDbl
, um sicherzustellen, dass das Datum als numerischer Wert erkannt wird, besonders in Filterkriterien.1. Wie kann ich das aktuelle Jahr in VBA abrufen?
Du kannst das aktuelle Jahr mit Year(Date)
abrufen.
2. Was passiert, wenn ich das Datum um mehr als 5 Jahre ändern möchte?
Du kannst die Zahl in Year(d) - 5
anpassen, um das Datum um die gewünschte Anzahl an Jahren zu reduzieren.
3. Wie kann ich das Datum um Wochen oder Tage ändern?
Um das Datum um Wochen zu ändern, kannst du einfach die Anzahl der Wochen multiplizieren, z.B. Date - 7 * AnzahlDerWochen
. Für Tage verwende Date - AnzahlDerTage
.
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