VBA DateAdd-Funktion

DatumBeschreibung hinzufügen

Die VBA DateAdd-Funktion ermöglicht es Ihnen, Tage, Monate, Jahre, Stunden, Quartale usw. zu Datums- oder Uhrzeitangaben hinzuzufügen (oder zu subtrahieren).

Einfache DateAdd-Beispiele

Hier ist ein einfaches DateAdd-Beispiel:

123 Sub DateAdd_Day()MsgBox DateAdd("d", 20, #4/1/2021#)End Sub

Dieser Code fügt dem Datum 01.04.2021 20 Tage (gekennzeichnet durch „d“) hinzu:

Stattdessen können wir das Intervall-Argument von „d“ in „m“ ändern, um dem Datum 01.04.2021 20 Monate hinzuzufügen:

123 UnterdatumAdd_Month()MsgBox DateAdd("m", 20, #4/1/2021#)End Sub

Anstatt das Datum in einer Messagebox anzuzeigen, können wir es einer Variablen zuweisen:

123456 Sub DateAdd_Day2()Dim dt als Datumdt = DateAdd("d", 20, #4/1/2021#)MsgBox dtEnd Sub

DateAdd-Syntax

Im VBA-Editor können Sie „DateAdd(“ eingeben, um die Syntax für die DateAdd-Funktion anzuzeigen:

Die DateAdd-Funktion enthält 3 Argumente:

Intervall: Zeiteinheit (Tage, Monate, Jahre usw.). Geben Sie als Zeichenfolge ein. (z. B. „m“ für Monat)

Einstellung Beschreibung
yyyy Jahr
Q Quartal
m Monat
ja Tag des Jahres
D Tag
w Wochentag
ww Woche
h Stunde
n Minute
S Sekunde

Nummer: Numerischer Wert, der die Anzahl der hinzuzufügenden Zeiteinheiten darstellt. (z. B. 20, um 20 Einheiten hinzuzufügen)

Datum: Anfangsdatum. Siehe nächster Abschnitt.

VBA-Programmierung | Code Generator arbeitet für Sie!

Beispiele für Excel VBA DateAdd-Funktion

Referenzdaten

Zu Beginn zeigen wir verschiedene Möglichkeiten zum Referenzieren von Datumsangaben mithilfe der VBA DateAdd-Funktion.

Jede dieser DateAdd-Funktionen liefert das gleiche Ergebnis:

123456789 UnterdatumAdd_ReferenceDates()MsgBox DateAdd("m", 2, #4/1/2021#)MsgBox DateAdd("m", 2, DateSerial(2021, 4, 1))MsgBox DateAdd("m", 2, DateValue("1. April 2022"))End Sub

Oder Sie können auf eine Zelle verweisen, die ein Datum enthält:

12345 UnterdatumAdd_ReferenceDates_Cell()MsgBox DateAdd("m", 2, Range("C2").Value)End Sub

Oder erstellen und verweisen Sie auf eine Datumsvariable:

12345678 UnterdatumAdd_Variable()Dim dt als Datumdt = #4/1/2021#MsgBox DateAdd("m", 2, dt)End Sub

Addieren oder Subtrahieren von Daten

Wie Sie ein Datum ergänzen, haben wir Ihnen bereits gezeigt:

123456 Sub DateAdd_Day2()Dim dt als Datumdt = DateAdd("d", 20, #4/1/2021#)MsgBox dtEnd Sub

Sie können von Daten subtrahieren, indem Sie eine negative Zahl verwenden (z. B. -20 statt 20):

123456 Sub DateAdd_Day()Dim dt als Datumdt = DateAdd("d", -20, #4/1/2021#)MsgBox dtEnd Sub

Sind Sie es leid, nach VBA-Codebeispielen zu suchen? Probieren Sie AutoMacro aus!

Hinzufügen verschiedener Zeiteinheiten

Jahre

123 Sub DateAdd_Years()MsgBox DateAdd("yyyy", 4, #4/1/2021#)End Sub

Quartal

123 Sub DateAdd_Quarters()MsgBox DateAdd("q", 2, #4/1/2021#)End Sub

Monat

123 UnterdatumAdd_Months()MsgBox DateAdd("m", 2, #4/1/2021#)End Sub

Tag des Jahres

123 Sub DateAdd_DaysofYear()MsgBox DateAdd("y", 2, #4/1/2021#)End Sub

Tag

123 Sub DateAdd_Days3()MsgBox DateAdd("d", 2, #4/1/2021#)End Sub

Wochentag

123 Sub DateAdd_Weekdays()MsgBox DateAdd("w", 2, #4/1/2021#)End Sub

Woche

123 Sub DateAdd_Weeks()MsgBox DateAdd("ww", 2, #4/1/2021#)End Sub

VBA-Programmierung | Code Generator arbeitet für Sie!

Zu Heute hinzufügen

In diesen Beispielen werden dem heutigen Tag mithilfe der Datumsfunktion Zeiteinheiten hinzugefügt.

123456789 Sub DateAdd_Year_Test()Dim dtHeute als DatumDim dtSpäter als DatumdtHeute = DatumdtLater = DateAdd("yyyy", 1, dtToday)MsgBox "Ein Jahr später ist" & dtLaterEnd Sub
123 Sub DateAdd_Quarter_Test()MsgBox "2 Quartale später ist " & DateAdd("q", 2, Date)End Sub

Addieren und Subtrahieren von Zeit

Die DateAdd-Funktion funktioniert auch mit Times. Hier sind einige Beispiele für das Addieren (oder Subtrahieren) von Zeit zu einer Zeit:

Stunde

In diesem Beispiel werden einer Zeit 2 Stunden hinzugefügt:

123 Sub DateAdd_Hour()MsgBox DateAdd("h", 2, #4/1/2021 6:00:00#)End Sub

Minute

In diesem Beispiel werden 120 Minuten von der aktuellen Zeit abgezogen:

123 Sub DateAdd_Minute_Subtract()MsgBox DateAdd("n", -120, Jetzt)End Sub

Sekunde

123 Sub DateAdd_Second()MsgBox DateAdd("s", 2, #4/1/2021 6:00:00#)End Sub

Datum formatieren

Wenn Datumsangaben (oder Uhrzeiten) in Excel, UserForms oder Messageboxen angezeigt werden, sollten Sie mithilfe der Formatfunktion angeben, wie die Datumsangaben angezeigt werden sollen. Wir haben ein paar Beispiele unten aufgeführt:

123456789101112131415161718 Sub FormattingDatesTimes()'Gibt das aktuelle Datum und die aktuelle Uhrzeit zurückdt = Jetzt()'Ex. 07.02.2021Bereich("B2") = Format(dt, "mm/tt/jjjj")'Ex. 2. Juli 2022Range("B3") = Format(dt, "mmmm d, yyyy")'Ex. 2. Juli 2022 09:10Bereich("B4") = Format(dt, "mm/tt/jjjj hh:mm")'Ex. 7.2.21 9:10 UhrRange("B5") = Format(dt, "m.d.yy h:mm AM/PM")End Sub

wave wave wave wave wave