VBA DatePart-Funktion

DatumTeilbeschreibung

Gibt einen angegebenen Teil eines bestimmten Datums zurück.

Einfache DatePart-Beispiele

Hier ist ein einfaches DatePart-Beispiel:

123 Sub DatePart_Year_Test()MsgBox DatePart("yyyy", #1/1/2019#)End Sub

Dieser Code gibt 2022 zurück.

DatePart-Syntax

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

Die DatePart-Funktion enthält 4 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

Datum: Variant (Datum) Wert, den Sie auswerten möchten.

Erster Tag der Woche: Eine Konstante, die den ersten Tag der Woche angibt. Dies ist optional. Wenn nicht angegeben, wird Sonntag angenommen.

Konstante Wert Beschreibung
vbUseSystem 0 Verwenden Sie die NLS-API-Einstellung.
vbSonntag 1 Sonntag (Standard)
vbMontag 2 Montag
vbDienstag 3 Dienstag
vbMittwoch 4 Mittwoch
vbDonnerstag 5 Donnerstag
vbFreitag 6 Freitag
vbSamstag 7 Samstag

ErsteWoche des Jahres: Eine Konstante, die die erste Woche des Jahres angibt. Dies ist optional. Wenn nicht angegeben, wird als erste Woche die Woche angenommen, in der der 1. Januar auftritt.

Konstante Wert Beschreibung
vbUseSystem 0 Verwenden Sie die NLS-API-Einstellung.
vbFirstJan1 1 Beginnen Sie mit der Woche, in der der 1. Januar auftritt (Standard).
vbFirstFourDays 2 Beginnen Sie mit der ersten Woche, die mindestens vier Tage im neuen Jahr hat.
vbErsteVollwoche 3 Beginnen Sie mit der ersten vollen Woche des Jahres.

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

Beispiele für Excel VBA DatePart-Funktion

Referenzdaten

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

Jede dieser DatePart-Funktionen erzeugt das gleiche Ergebnis:

123456789 UnterdatumAdd_ReferenceDates()MsgBox DatePart("yyyy", #4/1/2019#)MsgBox DatePart("yyyy", DateSerial(2019, 4, 1))MsgBox DatePart("yyyy", DateValue("1. April 2022"))End Sub

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

12345 Sub DatePart_ReferenceDate_Cell()MsgBox DatePart("yyyy", Range("C2").Value)End Sub

Oder erstellen und referenzieren Sie Datumsvariablen:

12345678 Unter DatePart_Variable()Dim dt als Datumdt = #4/1/2019#MsgBox DateAdd("yyyy", dt)End Sub

Verwenden verschiedener Intervalleinheiten

Quartal

123 UnterdatumPart_Quarter()MsgBox DatePart("q", #30.06.2019#)End Sub

Monat

12345 Sub DatePart_Month()MsgBox DatePart("m", #30.06.2019#)'äquivalentMsgBox-Monat(#6/30/2019#)End Sub

Tag

12345 Sub DatePart_Day()MsgBox DatePart("d", #30.06.2019#)'äquivalentMsgBox-Tag(#6/30/2019#)End Sub

Woche

12345 Sub DatePart_Week_Test()MsgBox DatePart("w", #30.06.2019#)'äquivalentMsgBox Wochentag(#6/30/2019#)End Sub

Stunde

123456789101112 Sub DatePart_Hour()Dim dt als DatumDimmen Sie nStunde so langdt = 14.08.2019 9:30:00 #nStunde = DatePart("h", dt)MsgBox nStunde'äquivalentMsgBox Stunde(dt)End Sub

Protokoll

123456 Sub DatePart_Minute()MsgBox DatePart("n", #8/14/2019 9:15:00 #)'äquivalentMsgBox Minute(#14.08.2019 9:15:00#)MsgBox-Minute(#9:15:00#)End Sub

Sekunde

123456 Sub DatePart_Second()MsgBox DatePart("s", #8/14/2019 9:15:15 AM#)'äquivalentMsgBox Zweite(#14.08.2019 9:15:15#)MsgBox Sekunde(#9:15:15#)End Sub
wave wave wave wave wave