DateDiff Beschrijving
Retourneert het verschil tussen twee datumwaarden, gebaseerd op het opgegeven interval.
Eenvoudige DateDiff-voorbeelden
Hier is een eenvoudig DateDiff-voorbeeld:
123 | SubdatumDiff_Year()MsgBox DateDiff("yyyy", #1/1/2019#, #8/1//2021#)Einde sub |
Deze code geeft 2 terug. Dit is het verschil op jaarbasis (aangegeven met “yyyy”) tussen 2 dagen. (2021 - 2022 = 2)
In het bovenstaande voorbeeld wijzigt u de posities van datum1 en datum2.
123 | SubdatumDiff_Year()MsgBox DateDiff("yyyy", #8/1/2021#, #1/1/2019#)Einde sub |
Deze code retourneert -2.
DateDiff-syntaxis
In de VBA-editor kunt u "DateDiff(" typen om de syntaxis voor de DateDiff-functie te zien:
De functie DateDiff bevat 5 argumenten:
Interval: Tijdseenheid (dagen, maanden, jaren, enz.). Voer in als tekenreeks. (bijv. "m" voor maand)
Instelling | Beschrijving |
---|---|
yyyy | Jaar |
Q | Kwartaal |
m | Maand |
ja | dag van het jaar |
NS | Dag |
met wie | Weekdag |
ww | Week |
H | Uur |
N | Minuut |
s | Tweede |
Datum1, Datum2: Twee datums die u in de berekening wilt gebruiken.
Eerste dag van de week: Een constante die de eerste dag van de week aangeeft. Dit is optioneel. Indien niet gespecificeerd, wordt uitgegaan van zondag.
Constante | Waarde | Beschrijving |
---|---|---|
vbGebruikSysteem | 0 | Gebruik de NLS API-instelling. |
vbzondag | 1 | Zondag (standaard) |
vbMaandag | 2 | maandag |
vbDinsdag | 3 | Dinsdag |
vbwoensdag | 4 | woensdag |
vbdonderdag | 5 | donderdag |
vbvrijdag | 6 | vrijdag |
vbZaterdag | 7 | zaterdag |
EersteWeekVanJaar: Een constante die de eerste week van het jaar aangeeft. Dit is optioneel. Indien niet gespecificeerd, wordt aangenomen dat de eerste week de week is waarin 1 januari valt.
Constante | Waarde | Beschrijving |
---|---|---|
vbGebruikSysteem | 0 | Gebruik de NLS API-instelling. |
vbFirstJan1 | 1 | Begin met de week waarin 1 januari valt (standaard). |
vbEersteVierDagen | 2 | Begin met de eerste week die in het nieuwe jaar minimaal vier dagen heeft. |
vbEersteVolledigeWeek | 3 | Begin met de eerste volledige week van het jaar. |
VBA-programmering | Code Generator werkt voor u!
Voorbeelden van Excel VBA DateDiff-functie
Verwijzende datums
Om te beginnen zullen we verschillende manieren demonstreren om naar datums te verwijzen met behulp van de VBA DateDiff-functie.
Elk van deze DateDiff-functies levert hetzelfde resultaat op:
123456789 | Sub DateDiff_ReferenceDates()MsgBox DateDiff("m", #4/1/2019#, #8/1//2021#)MsgBox DateDiff("m", DateSerial(2019, 4, 1), DateSerial(2021, 8, 1))MsgBox DateDiff("m", DateValue("1 april 2022"), DateValue("1 augustus 2022"))Einde sub |
Of u kunt verwijzen naar cellen die datums bevatten:
12345 | Sub DateDiff_ReferenceDates_Cell()MsgBox DateDiff ("m", Bereik ("C2"). Waarde, Bereik ("C3"). Waarde)Einde sub |
Of maak en referentiedatumvariabelen:
123456789 | SubdatumDiff_Variable()Dim dt1 als datum, dt2 als datumdt1 = #4/1/2019#dt2 = #8/1/2021#MsgBox DateDiff("m", dt1, dt2)Einde sub |
Moe van het zoeken naar voorbeelden van VBA-codes? Probeer AutoMacro!
Verschillende intervaleenheden gebruiken
kwartalen
123 | SubdatumDiff_Quarter()MsgBox "het aantal kwartalen: " & DateDiff("q", #1/1/2019#, #1/1/2021#)Einde sub |
Maanden
123 | SubdatumDiff_Maand()MsgBox "het aantal maanden: " & DateDiff("m", #1/1/2019#, #1/1/2021#)Einde sub |
dagen
123 | SubdatumDiff_Day()MsgBox "het aantal dagen: " & DateDiff("d", #1/1/2019#, #1/1/2021#)Einde sub |
Weken
123 | SubdatumDiff_Week()MsgBox "het aantal weken: " & DateDiff("w", #1/1/2019#, #1/1/2021#)Einde sub |
Uren
123456789101112 | SubdatumDiff_Hour()Dim dt1 als datumDim dt2 als datumDim nDiff zo langdt1 = #8/14/2019 9:30:00 AM#dt2 = #8/14/2019 13:00:00 PM#nDiff = DateDiff("h", dt1, dt2)MsgBox "uren: " & nDiffEinde sub |
Minuten
123 | SubdatumDiff_Minuut()MsgBox "mins: " & DateDiff("n", #8/14/2019 9:30:00 AM#, #8/14/2019 9:35:00 AM#)Einde sub |
seconden
123 | SubdatumDiff_Second()MsgBox "secs: " & DateDiff("s", #8/14/2019 9:30:10 AM#, #8/14/2019 9:30:22 AM#)Einde sub |