Funktsioon VBA DateDiff

DateDiff Kirjeldus

Tagastab kahe kuupäeva väärtuse erinevuse, lähtudes määratud intervallist.

Lihtsad DateDiff näited

Siin on lihtne DateDiff näide:

123 AlamkuupäevDiff_Year ()MsgBox DateDiff ("aaaa", #1/1/2019 #, #8/1/2021 #)End Sub

See kood tagastab 2. See on aasta erinevus (tähistatud “aaaa”) kahe päeva vahel. (2021–2022 = 2)

Ülaltoodud näites kuupäeva1 ja kuupäeva2 positsioonide muutmine.

123 AlamkuupäevDiff_Year ()MsgBox DateDiff ("yyyy", #8/1/2021 #, #1/1/2019 #)End Sub

See kood tagastab -2.

DateDiff süntaks

Funktsiooni DateDiff süntaksi nägemiseks võite VBA redaktoris tippida "DateDiff ("):

Funktsioon DateDiff sisaldab 5 argumenti.

Intervall: Ajaühik (päevad, kuud, aastad jne). Sisestage stringina. (nt “m” kuu kohta)

Seadistamine Kirjeldus
aaaa Aasta
q Kvartal
m Kuu
y Aasta päev
d Päev
w Nädalapäev
ww Nädal
h Tund
n Minut
s Teiseks

Kuupäev1, kuupäev2: Kaks kuupäeva, mida soovite arvutamisel kasutada.

FirstDayOfWeek: Konstant, mis määrab nädala esimese päeva. See on vabatahtlik. Kui seda pole täpsustatud, eeldatakse pühapäeva.

Pidev Väärtus Kirjeldus
vbUseSystem 0 Kasutage NLS API seadet.
vbPühapäev 1 Pühapäev (vaikimisi)
vbEsmaspäev 2 Esmaspäev
vbTeisipäev 3 Teisipäev
vbKolmapäev 4 Kolmapäev
vbNeljapäev 5 Neljapäev
vbReede 6 Reede
vb Laupäev 7 Laupäev

FirstWeekOfYear: Konstant, mis täpsustab aasta esimest nädalat. See on vabatahtlik. Kui seda pole täpsustatud, loetakse esimeseks nädalaks 1. jaanuari toimumise nädalat.

Pidev Väärtus Kirjeldus
vbUseSystem 0 Kasutage NLS API seadet.
vbEsimene jaan1 1 Alustage 1. jaanuari nädalaga (vaikimisi).
vbFirstFourDays 2 Alustage esimese nädalaga, mille uuel aastal on vähemalt neli päeva.
vbFirstFullWeek 3 Alustage aasta esimese täisnädalaga.

VBA programmeerimine | Koodigeneraator töötab teie jaoks!

Funktsiooni Excel VBA DateDiff näited

Viitamise kuupäevad

Alustuseks demonstreerime erinevaid viiteid kuupäevadele viitamiseks, kasutades funktsiooni VBA DateDiff.

Kõik need DateDiff -funktsioonid annavad sama tulemuse:

123456789 AlamkuupäevDiff_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. aprill 2022"), DateValue ("1. august 2022"))End Sub

Või võite viidata kuupäevi sisaldavatele lahtritele:

12345 AlamkuupäevDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", vahemik ("C2"). Väärtus, vahemik ("C3"). Väärtus)End Sub

Või looge ja viite kuupäeva muutujad:

123456789 AlamkuupäevDiff_Variable ()Dim dt1 kui kuupäev, dt2 kui kuupäevdt1 = #4/1/2019 #dt2 = #8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)End Sub

Kas olete väsinud VBA koodinäidete otsimisest? Proovige AutoMacrot!

Erinevate intervallühikute kasutamine

Kvartalid

123 AlamkuupäevDiff_Quarter ()MsgBox "kvartalite arv:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)End Sub

Kuud

123 AlamkuupäevDiff_Month ()MsgBox "kuude arv:" & DateDiff ("m", #1/1/2019 #, #1/1/2021 #)End Sub

Päevad

123 AlamkuupäevDiff_Day ()MsgBox "päevade arv:" & DateDiff ("d", #1/1/2019 #, #1/1/2021 #)End Sub

Nädalaid

123 AlamkuupäevDiff_Week ()MsgBox "nädalate arv:" & DateDiff ("w", #1/1/2019 #, #1/1/2021 #)End Sub

Tundi

123456789101112 AlamkuupäevDiff_tund ()Dim dt1 kui kuupäevDim dt2 kui kuupäevDim nDiff As Longdt1 = #8/14/2019 9:30:00 #dt2 = #8/14/2019 1:00:00 PM #nDiff = Kuupäeva vahe ("h", dt1, dt2)MsgBoxi lahtiolekuajad: & nDiffEnd Sub

Protokoll

123 AlamkuupäevDiff_Minute ()MsgBox "minutid:" & DateDiff ("n", #8/14/2019 9:30:00 #, #8/14/2019 9:35:00 AM #)End Sub

Sekundid

123 AlamkuupäevDiff_Second ()MsgBox "sek:" & DateDiff ("s", #8/14/2019 9:30:10 AM #, #8/14/2019 9:30:22 AM #)End Sub

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave