VBA DateDiff -funktion

DateDiff Beskrivning

Returnerar skillnaden mellan två datumvärden, baserat på det angivna intervallet.

Enkla DateDiff -exempel

Här är ett enkelt DateDiff -exempel:

123 Sub DateDiff_Year ()MsgBox DateDiff ("åååå", #1/1/2019 #, #8/1/2021 #)Avsluta Sub

Denna kod kommer att returnera 2. Detta är skillnaden mot år (indikerad med ”åååå”) mellan 2 dagar. (2021 - 2022 = 2)

I exemplet ovan, ändra positionerna för datum1 och datum2.

123 Sub DateDiff_Year ()MsgBox DateDiff ("åååå", #8/1/2021 #, #1/1/2019 #)Avsluta Sub

Denna kod returnerar -2.

DateDiff Syntax

I VBA Editor kan du skriva “DateDiff (” för att se syntaxen för DateDiff -funktionen:

DateDiff -funktionen innehåller fem argument:

Intervall: Tidenhet (dagar, månader, år, etc.). Ange som sträng. (ex. ”m” för månad)

Miljö Beskrivning
åååå År
q Fjärdedel
m Månad
y Årets dag
d Dag
w Veckodag
ww Vecka
h Timme
n Minut
s Andra

Datum1, datum2: Två datum som du vill använda i beräkningen.

FirstDayOfWeek: En konstant som anger den första dagen i veckan. Detta är valfritt. Om det inte anges antas söndag.

Konstant Värde Beskrivning
vbUseSystem 0 Använd inställningen för NLS API.
vbSöndag 1 Söndag (standard)
vbMåndag 2 Måndag
vbTisdag 3 Tisdag
vb onsdag 4 Onsdag
vbTorsdag 5 Torsdag
vbFredag 6 fredag
vbLördag 7 Lördag

FirstWeekOfYear: En konstant som anger årets första vecka. Detta är valfritt. Om den inte anges antas den första veckan vara den vecka då den 1 januari inträffar.

Konstant Värde Beskrivning
vbUseSystem 0 Använd inställningen för NLS API.
vbFirstJan1 1 Börja med veckan där den 1 januari inträffar (standard).
vbFirstFourDays 2 Börja med den första veckan som har minst fyra dagar under det nya året.
vbFirstFullWeek 3 Börja med årets första hela vecka.

VBA -programmering | Kodgenerator fungerar för dig!

Exempel på Excel VBA DateDiff -funktion

Referensdatum

Till att börja med kommer vi att visa olika sätt att referera till datum med hjälp av VBA DateDiff -funktionen.

Var och en av dessa DateDiff -funktioner ger samma resultat:

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 augusti 2022"))Avsluta Sub

Eller så kan du referera till celler som innehåller datum:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", intervall ("C2"). Värde, intervall ("C3"). Värde)Avsluta Sub

Eller skapa och referera datumvariabler:

123456789 Sub DateDiff_Variable ()Dim dt1 As Date, dt2 As Datedt1 = #4/1/2019 #dt2 = #8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)Avsluta Sub

Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!

Använda olika intervallenheter

Kvartal

123 Sub DateDiff_Quarter ()MsgBox "antalet kvartal:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)Avsluta Sub

Månader

123 Sub DateDiff_Month ()MsgBox "antalet månader:" & DateDiff ("m", #1/1/2019 #, #1/1/2021 #)Avsluta Sub

Dagar

123 Sub DateDiff_Day ()MsgBox "antalet dagar:" & DateDiff ("d", #1/1/2019 #, #1/1/2021 #)Avsluta Sub

Veckor

123 Sub DateDiff_Week ()MsgBox "antalet veckor:" & DateDiff ("w", #1/1/2019 #, #1/1/2021 #)Avsluta Sub

Timmar

123456789101112 Sub DateDiff_Hour ()Dim dt1 som datumDim dt2 som datumDim nDiff As Longdt1 = #8/14/2019 9:30:00 AM #dt2 = #8/14/2019 13:00:00 PM #nDiff = DateDiff ("h", dt1, dt2)MsgBox "timmar:" & nDiffAvsluta Sub

Minuter

123 Sub DateDiff_Minute ()MsgBox "min:" & DateDiff ("n", #8/14/2019 09:30:00 #, #8/14/2019 09:35:00 AM #)Avsluta Sub

Sekunder

123 Sub DateDiff_Second ()MsgBox "sek:" & DateDiff ("s", #8/14/2019 09:30:10 #, #8/14/2019 9:30:22 AM #)Avsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave