VBA DateDiff -funktion

DateDiff Beskrivelse

Returnerer forskellen mellem to datoværdier baseret på det angivne interval.

Simple DateDiff -eksempler

Her er et enkelt eksempel på DateDiff:

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

Denne kode returnerer 2. Dette er forskellen på år (angivet med "åååå") mellem 2 dage. (2021 - 2022 = 2)

I ovenstående eksempel ændres positionerne for dato1 og dato2.

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

Denne kode returnerer -2.

DateDiff -syntaks

I VBA Editor kan du skrive “DateDiff (” for at se syntaksen for DateDiff -funktionen:

DateDiff -funktionen indeholder 5 argumenter:

Interval: Tidsenhed (dage, måneder, år osv.). Indtast som streng. (f.eks. "m" for en måned)

Indstilling Beskrivelse
åååå År
q Kvarter
m Måned
y Årets dag
d Dag
w Ugedag
ww Uge
h Time
n Minut
s Sekund

Dato1, dato2: To datoer, du vil bruge i beregningen.

FirstDayOfWeek: En konstant, der angiver den første dag i ugen. Dette er valgfrit. Hvis det ikke er angivet, antages søndag.

Konstant Værdi Beskrivelse
vbUseSystem 0 Brug NLS API -indstillingen.
vbSøndag 1 Søndag (standard)
vbMandag 2 Mandag
vbTirsdag 3 tirsdag
vb onsdag 4 onsdag
vbTorsdag 5 torsdag
vbFredag 6 Fredag
vbLørdag 7 lørdag

FirstWeekOfYear: En konstant, der angiver årets første uge. Dette er valgfrit. Hvis den ikke er angivet, antages den første uge at være den uge, hvor den 1. januar finder sted.

Konstant Værdi Beskrivelse
vbUseSystem 0 Brug NLS API -indstillingen.
vbFirstJan1 1 Start med den uge, hvor den 1. januar finder sted (standard).
vbFirstFourDays 2 Start med den første uge, der har mindst fire dage i det nye år.
vbFirstFullWeek 3 Start med årets første hele uge.

VBA -programmering | Kodegenerator virker for dig!

Eksempler på Excel VBA DateDiff -funktion

Henvisningsdatoer

For at starte vil vi demonstrere forskellige måder at henvise til datoer ved hjælp af VBA DateDiff -funktionen.

Hver af disse DateDiff -funktioner giver det samme 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. august 2022"))Afslut Sub

Eller du kan referere til celler, der indeholder datoer:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Range ("C2"). Værdi, Range ("C3"). Værdi)Afslut Sub

Eller opret og referencer datovariabler:

123456789 Sub DateDiff_Variable ()Dim dt1 som dato, dt2 som datodt1 = #4/1/2019 #dt2 = #8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)Afslut Sub

Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!

Brug af forskellige intervaller

Kvartaler

123 Sub DateDiff_Quarter ()MsgBox "antallet af kvartaler:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)Afslut Sub

Måneder

123 Sub DateDiff_Month ()MsgBox "antallet af måneder:" & DateDiff ("m", #1/1/2019 #, #1/1/2021 #)Afslut Sub

Dage

123 Sub DateDiff_Day ()MsgBox "antallet af dage:" & DateDiff ("d", #1/1/2019 #, #1/1/2021 #)Afslut Sub

Uger

123 Sub DateDiff_Week ()MsgBox "antallet af uger:" & DateDiff ("w", #1/1/2019 #, #1/1/2021 #)Afslut Sub

Timer

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

Referat

123 Sub DateDiff_Minute ()MsgBox "minutter:" & DateDiff ("n", #8/14/2019 9:30:00 AM #, #8/14/2019 9:35:00 AM #)Afslut Sub

Sekunder

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

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave