Wie verwende ich die vba-datepart-funktion?
Die VBA-Funktion DATEPART ist in der Datumskategorie der VBA-Funktionen aufgeführt. Wenn Sie es im VBA-Code verwenden, kann es den Tageswert aus einem Datums- oder Uhrzeitwert zurückgeben . Vereinfacht ausgedrückt können Sie aus einem Datums- oder Zeitwert Sekunden, Minuten, Stunden, Tage, Monate oder Jahre ermitteln.
Syntax
DatePart(Intervall, Datum, [firstdayofweek, [firstweekofyear]])
Argumente
- Intervall : Eine Zeichenfolge, die angibt, welcher Teil des Datums im Ergebnis zurückgegeben werden soll.
- Datum : Das Datum, ab dem der Datumsteil zurückkehren soll.
- [FirstDayOfWeek] : Eine Zeichenfolge zum Definieren des ersten Tages der Woche [Dies ist ein optionales Argument und wenn es weggelassen wird, ist es standardmäßig vbSunday].
- vbUseSystemDayOfWeek – Abhängig von den Systemeinstellungen.
- vbSonntag – Sonntag
- vblunday – Montag
- vbDienstag – Dienstag
- vbMittwoch – Mittwoch
- vbDonnerstag – Donnerstag
- vbFreitag – Freitag
- vbSamstag – Samstag
- [FirstWeekOfYear] : Eine Zeichenfolge zur Definition der ersten Woche des Jahres [Dies ist ein optionales Argument und wenn es weggelassen wird, ist es standardmäßig vbFirstJan1].
- vbSystem – Abhängig von den Systemeinstellungen.
- vbFirstJan1 – Die Woche, in der der 1. Tag im Januar liegt.
- vbFirstFourDays – Die erste Woche, die mindestens vier Tage im neuen Jahr enthält.
- vbFirstFullWeek – Die erste volle Woche des neuen Jahres.
Beispiel
Um praktisch zu verstehen, wie die VBA-Funktion DATEPART verwendet wird, müssen Sie das folgende Beispiel durchgehen, in dem wir einen VBA-Code geschrieben haben, der sie verwendet:
Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub
Im obigen Code haben wir in DATEPART ein anderes Intervall verwendet:
- ‚d‘, um den Tag zu bekommen, und es wurde 15 zurückgegeben.
- ‚h‘, um die Stunden zu erhalten, aber da wir im Datum keine Zeit haben, wurde im Ergebnis 0 zurückgegeben.
- ‚m‘, um den Monat zu erhalten, und es wurde 1 zurückgegeben.
- ’n‘, um die Minuten zu erhalten, aber da wir im Datum keine Zeit haben, wurde im Ergebnis 0 zurückgegeben.
- „q“, um das Viertel zu erhalten, und es wurde 1 zurückgegeben.
- ’s‘, um die Sekunden zu erhalten, aber da wir im Datum keine Zeit haben, wurde im Ergebnis 0 zurückgegeben.
- ‚w‘, um den Wochentag zu erhalten, und es wurde 3 zurückgegeben.
- „ww“, um die Woche des Jahres zu erhalten, und es kam 3 zurück.
- ‚y‘, um den Tag des Jahres zu erhalten, und es wurde 15 zurückgegeben.
- „aaaa“, um das Jahr zu bekommen, und es kam zurück auf 2019.
Kommentare
- Wird ein Datum ohne Jahresangabe angegeben, wird das aktuelle Jahr verwendet.
- Handelt es sich bei dem angegebenen Wert um einen anderen Wert als ein Datum oder um ein Datum, das nicht als Datum erkannt werden kann, gibt VBA den Laufzeitfehler 13 zurück.
- Das Festlegen des Arguments „firstdayofweek“ funktioniert nur, wenn das „Intervall“ entweder „w“ oder „ww“ ist.