VBA DateDiff -funksjon

DateDiff Beskrivelse

Returnerer differansen mellom to datoverdier, basert på det angitte intervallet.

Enkle DateDiff -eksempler

Her er et enkelt eksempel på DateDiff:

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

Denne koden returnerer 2. Dette er forskjellen på år (angitt med “åååå”) mellom 2 dager. (2021 - 2022 = 2)

I eksemplet ovenfor endrer du posisjonene til dato1 og dato2.

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

Denne koden returnerer -2.

DateDiff -syntaks

I VBA Editor kan du skrive “DateDiff (” for å se syntaksen for DateDiff -funksjonen:

DateDiff -funksjonen inneholder 5 argumenter:

Intervall: Tidsenhet (dager, måneder, år, etc.). Skriv inn som streng. (eks. "m" for måned)

Omgivelser Beskrivelse
åååå År
q Fjerdedel
m Måned
y Årets dag
d Dag
w Ukedag
ww Uke
h Time
n Minutt
s Sekund

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

FirstDayOfWeek: En konstant som angir ukens første dag. Dette er valgfritt. Hvis ikke spesifisert, antas søndag.

Konstant Verdi Beskrivelse
vbUseSystem 0 Bruk NLS API -innstillingen.
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 som angir årets første uke. Dette er valgfritt. Hvis ikke spesifisert, antas den første uken å være uken der 1. januar inntreffer.

Konstant Verdi Beskrivelse
vbUseSystem 0 Bruk NLS API -innstillingen.
vbFirstJan1 1 Start med uken der 1. januar skjer (standard).
vbFirstFourDays 2 Start med den første uken som har minst fire dager i det nye året.
vbFirstFullWeek 3 Start med årets første hele uke.

VBA -programmering | Kodegenerator fungerer for deg!

Eksempler på Excel VBA DateDiff -funksjon

Henvisningsdatoer

For å starte, vil vi demonstrere forskjellige måter å referere til datoer ved å bruke VBA DateDiff -funksjonen.

Hver av disse DateDiff -funksjonene gir 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"))Slutt Sub

Eller du kan referere til celler som inneholder datoer:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", område ("C2"). Verdi, område ("C3"). Verdi)Slutt Sub

Eller opprett og referer til datovariabler:

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

Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!

Bruke forskjellige intervaller

Kvartaler

123 Sub DateDiff_Quarter ()MsgBox "antall kvartaler:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)Slutt Sub

Måneder

123 Sub DateDiff_Month ()MsgBox "antall måneder:" & DateDiff ("m", #1/1/2019 #, #1/1/2021 #)Slutt Sub

Dager

123 Sub DateDiff_Day ()MsgBox "antall dager:" & DateDiff ("d", #1/1/2019 #, #1/1/2021 #)Slutt Sub

Uker

123 Sub DateDiff_Week ()MsgBox "antall uker:" & DateDiff ("w", #1/1/2019 #, #1/1/2021 #)Slutt Sub

Timer

123456789101112 Sub DateDiff_Hour ()Dim dt1 As DateDim dt2 As DateDim 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:" & nDiffSlutt Sub

Minutter

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

Sekunder

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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave