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 |