Hoe gebruik ik de vba datepart-functie?
De VBA DATEPART-functie wordt vermeld in de datumcategorie van VBA-functies. Wanneer u het in VBA-code gebruikt, kan het de dagwaarde retourneren van een datum- of tijdwaarde . In eenvoudige bewoordingen kunt u seconden, minuten, uren, dagen, maanden of jaren uit een datum- of tijdwaarde halen.
Syntaxis
DatePart(interval, datum, [eerstedagvandeweek, [eersteweekvanjaar]])
Argumenten
- Interval : Een tekenreeks om aan te geven welk deel van de datum in het resultaat moet worden geretourneerd.
- Datum : De datum vanaf wanneer het datumgedeelte moet terugkeren.
- [FirstDayOfWeek] : een tekenreeks om de eerste dag van de week te definiëren [Dit is een optioneel argument en als het standaard wordt weggelaten vbSunday].
- vbUseSystemDayOfWeek – Afhankelijk van systeeminstellingen.
- vbzondag – zondag
- vblunday – maandag
- vbdinsdag – dinsdag
- vbwoensdag – woensdag
- vbDonderdag – donderdag
- vbVrijdag – vrijdag
- vbzaterdag – zaterdag
- [FirstWeekOfYear] : een tekenreeks om de eerste week van het jaar te definiëren [Dit is een optioneel argument en als het standaard wordt weggelaten vbFirstJan1].
- vbSystem – Afhankelijk van systeeminstellingen.
- vbFirstJan1 – De week waarin de 1e dag van januari valt.
- vbFirstFourDays – De eerste week die minimaal vier dagen in het nieuwe jaar bevat.
- vbFirstFullWeek – De eerste volledige week van het nieuwe jaar.
Voorbeeld
Om praktisch te begrijpen hoe u de VBA DATEPART-functie kunt gebruiken, moet u het onderstaande voorbeeld doorlopen waarin we er een vba-code mee hebben geschreven:

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
In de bovenstaande code hebben we een ander interval in DATEPART gebruikt:
- ‘d’ om de dag te krijgen en deze keerde terug naar 15.
- ‘h’ om de uren te krijgen, maar omdat we geen tijd hebben in de datum, retourneerde het 0 in het resultaat.
- ‘m’ om de maand te krijgen en deze retourneerde 1.
- ‘n’ om de minuten te krijgen, maar omdat we geen tijd hebben voor de datum, retourneerde het 0 in het resultaat.
- “q” om het kwartaal te krijgen en het retourneerde 1.
- ‘s’ om de seconden te krijgen, maar omdat we geen tijd hebben voor de datum, retourneerde het 0 in het resultaat.
- ‘w’ om de dag van de week te krijgen en deze keerde terug 3.
- ‘ww’ om de week van het jaar te krijgen en deze kwam terug 3.
- ‘y’ om de dag van het jaar te krijgen en het retourneerde 15.
- “aaaa” om het jaar te krijgen en het kwam terug naar 2019.
Opmerkingen
- Als er een datum zonder jaar wordt opgegeven, wordt het huidige jaar gebruikt.
- Als de opgegeven waarde een andere waarde is dan een datum of een datum die niet als datum kan worden herkend, retourneert VBA runtimefout 13.
- Het instellen van het argument “eerstedagvandeweek” werkt alleen als het “interval” “w” of “ww” is.