Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum Minus 5Jahre in VBA

Forumthread: Datum Minus 5Jahre in VBA

Datum Minus 5Jahre in VBA
26.02.2009 13:14:16
Modolo
Hallo Zusammen
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
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum Minus 5Jahre in VBA
26.02.2009 13:16:46
Josef
Hallo Mondo,
Sub tt()
  Dim d As Date
  d = Date
  d = DateSerial(Year(d) - 5, Month(d), Day(d))
  MsgBox Format(d, "dd.mm.yyyy")
End Sub

Gruß Sepp

Anzeige
Du bist ständig schnelle wie ich. :-( oT.
26.02.2009 13:18:44
Tino
IMMER, das hoffe ich doch nicht;-)))) o.T.
26.02.2009 13:21:25
Josef
Gruß Sepp

meinst Du die Nummer mit dem S… ;-) oT.
26.02.2009 13:28:05
Tino
Anzeige
AW: Datum Minus 5Jahre in VBA
26.02.2009 13:17:33
Tino
Hallo,
meinst Du so?
Dim Datum As Date
Datum = DateSerial(Year(Date) - 5, Month(Date), Day(Date))
Gruß Tino
AW: Datum Minus 5Jahre in VBA
26.02.2009 13:58:00
Modolo
Vielen Dank für die Antworten
aber ich habe leider keine Ahnung wie ich das im Autofilter unterbringen soll
sorry für meine begrenzten VBA Horizont
AW: Datum Minus 5Jahre in VBA
26.02.2009 14:01:31
Ramses
Hallo
Für ein filterkriterium musst du das noch umsetzen
.... criteria1:=CDbl(DateSerial(Year(Date) - 5, Month(Date), Day(Date)))
Dann wird das als Datumswert im Filter erkannt
Gruss Rainer
Anzeige
hier ein Beispiel...
26.02.2009 15:03:29
Tino
Hallo,
...für Datum (keine Uhrzeiten!)

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

Anzeige
AW: hier ein Beispiel...
27.02.2009 08:39:08
Modolo
Hat etwas gedauert, manchmal sieht man halt den Wald vor lauter Bäume nicht
DANKE
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datum Minus 5 Jahre in VBA


Schritt-für-Schritt-Anleitung

Um das aktuelle Datum in Excel VBA um 5 Jahre zu reduzieren, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (drücke ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "DieseArbeitsmappe" -> "Einfügen" -> "Modul").

  3. 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
  4. Schließe den VBA-Editor und führe das Makro aus, um das Datum 5 Jahre in der Vergangenheit anzuzeigen.


Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

Falls du in Excel ohne VBA arbeiten möchtest, kannst du auch eine Formel verwenden:

  1. In einer Zelle kannst du folgende Formel eingeben:

    =EDATUM(HEUTE();-60)

    Diese Formel subtrahiert 5 Jahre (60 Monate) vom aktuellen Datum.

  2. 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.


Praktische Beispiele

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.


Tipps für Profis

  • Nutze vba datumsfunktionen, um komplexere Datumsberechnungen durchzuführen.
  • Berücksichtige Schaltjahre, wenn du mit Datumsangaben arbeitest, um exakte Berechnungen zu gewährleisten.
  • Verwende CDbl, um sicherzustellen, dass das Datum als numerischer Wert erkannt wird, besonders in Filterkriterien.

FAQ: Häufige Fragen

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.

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