VBA DateDiff-functie

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

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave