VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: DateDiff-Funktion

Gibt einen Wert vom Typ Variant (Long) zurück, der die Anzahl der Zeitintervalle zwischen zwei bestimmten Terminen angibt.

Syntax

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

Die Syntax für die DateDiff-Funktion besteht aus folgenden benannten Argumenten:

Teil Beschreibung
interval Erforderlich. Zeichenfolgenausdruck, der das Zeitintervall ergibt, das Sie zur Berechnung der Differenz zwischen date1 und date2 verwenden.
Date1, date2 Erforderlich. Wert vom Typ Variant (Date). Zwei Termine, die Sie in Ihrer Berechnung verwenden möchten.
Firstdayofweek Optional. Eine Konstante, die den ersten Tag der Woche angibt. Ist dieser Wert nicht angegeben, so wird Sonntag angenommen.
firstweekofyear Optional. Eine Konstante, die die erste Woche des Jahres angibt. Ist dieser Wert nicht angegeben, wird die Woche mit dem 1. Januar als die erste Woche angenommen.

Einstellungen

Das Argument interval hat die folgenden Einstellungen:

Einstellung Beschreibung
yyyy Jahr
q Quartal
m Monat
y Tag des Jahres
d Tag
w Wochentag
ww Woche
h Stunde
n Minute
s Sekunde

Das Argument firstdayofweek hat folgende Einstellungen:

Konstante Wert Beschreibung
vbUseSystem 0 Die NLS API-Einstellung wird verwendet.
vbSunday 1 Sonntag (Voreinstellung)
vbMonday 2 Montag
vbTuesday 3 Dienstag
vbWednesday 4 Mittwoch
vbThursday 5 Donnerstag
vbFriday 6 Freitag
vbSaturday 7 Samstag

Das Argument firstweekofyear hat folgende Einstellungen:

Konstante Wert Beschreibung
vbUseSystem 0 Die NLS API-Einstellung wird verwendet.
vbFirstJan1 1 Anfang in der Woche mit dem 1. Januar (Voreinstellung).
vbFirstFourDays 2 Anfang in der ersten Woche, die mindestens vier Tage im neuen Jahr enthält.
vbFirstFullWeek 3 Anfang in der ersten vollständigen Woche des Jahres.

Bemerkungen

Mit der DateDiff-Funktion können Sie bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Terminen liegen. Sie können mit DateDiff zum Beispiel die Anzahl der Tage zwischen zwei Terminen oder die Anzahl der Wochen zwischen dem heutigen Tag und dem Jahresende berechnen.

Wenn Sie die Anzahl der Tage zwischen date1 und date2 bestimmen möchten, können Sie entweder den Tag des Jahres ("y") oder den Tag ("d") verwenden. Wenn interval ein Wochentag ("w") ist, gibt DateDiff die Anzahl der Wochen zwischen zwei Terminen zurück. Fällt date1 auf einen Montag, dann zählt DateDiff die Montage bis zum Datum date2, wobei date2 mitgezählt wird, date1 dagegen nicht. Ist interval dagegen eine Woche ("ww"), dann gibt die DateDiff-Funktion die Anzahl der Kalenderwochen zwischen den beiden Terminen zurück. Die Funktion zählt die Sonntage zwischen date1 und date2. DateDiff zählt date2 mit, sofern dieses Datum auf einen Sonntag fällt, date1 wird hingegen nicht mitgezählt, auch dann nicht, wenn das Datum auf einen Sonntag fällt.

Wenn date1 einen weiter in der Zukunft liegenden Zeitpunkt angibt als date2, gibt die DateDiff-Funktion eine negative Zahl zurück.

Das Argument firstdayofweek betrifft Berechnungen, die die Intervallsymbole "w" und "ww" verwenden.

Entspricht Datum1 oder Datum2 einem Datumsliteral, so wird das angegebene Jahr zu einem dauerhaften Bestandteil dieses Datums. Wird Datum1 oder Datum2 jedoch in Anführungszeichen ("") eingeschlossen und das Jahr nicht angegeben, so wird bei jeder Auswertung des Ausdrucks Datum1 oder Datum2 das aktuelle Jahr in Ihren Code eingefügt. Sie können daher Code schreiben, der in mehreren Jahren verwendet werden kann.

Wird der 31. Dezember mit dem 1. Januar des unmittelbar folgenden Jahres verglichen, gibt DateDiff für Jahr ("yyyy") den Wert 1 zurück, obwohl nur ein Tag vergangen ist.

Anmerkung   Wenn die Calendar-Eigenschaft auf Gregorianisch steht, muß das mit date1 und date2 angegebene Datum auch dem Gregorianischen Kalender entsprechen. Wenn die Eigenschaft auf Hijri steht, muß das angegebene Datum dem Hijri-Kalender entsprechen.