DateDiff Descriere
Returnează diferența dintre două valori de dată, pe baza intervalului specificat.
Exemple simple DateDiff
Iată un exemplu simplu DateDiff:
123 | Sub DataDiff_Year ()MsgBox DateDiff („aaaa”, # 1/1/2019 #, # 8/1/2021 #)Sfârșitul Sub |
Acest cod va reveni 2. Aceasta este diferența pe an (indicată prin „aaaa”) între 2 zile. (2021 - 2022 = 2)
În exemplul de mai sus, schimbarea pozițiilor date1 și data2.
123 | Sub DataDiff_Year ()MsgBox DateDiff („aaaa”, # 8/1/2021 #, # 1/1/2019 #)Sfârșitul Sub |
Acest cod va returna -2.
Sintaxă DateDiff
În Editorul VBA, puteți tasta „DateDiff (” pentru a vedea sintaxa funcției DateDiff:
Funcția DateDiff conține 5 argumente:
Interval: Unitatea de timp (zile, luni, ani etc.). Introduceți ca șir. (ex. „m” pentru luna)
Setare | Descriere |
---|---|
yyyy | An |
q | Sfert |
m | Lună |
y | Ziua anului |
d | Zi |
w | Ziua săptămânii |
ww | Săptămână |
h | Ora |
n | Minut |
s | Al doilea |
Data1, Data2: Două date pe care doriți să le utilizați în calcul.
FirstDayOfWeek: O constantă care specifică prima zi a săptămânii. Acest lucru este opțional. Dacă nu este specificat, se presupune că duminica.
Constant | Valoare | Descriere |
---|---|---|
vbUseSystem | 0 | Utilizați setarea API NLS. |
vbDuminică | 1 | Duminică (implicit) |
vbLuni | 2 | luni |
vbMarți | 3 | marţi |
vbMiercuri | 4 | miercuri |
vbJoi | 5 | joi |
vbVineri | 6 | vineri |
sâmbătă | 7 | sâmbătă |
FirstWeekOfYear: O constantă care specifică prima săptămână a anului. Acest lucru este opțional. Dacă nu este specificat, prima săptămână este presupusă a fi săptămâna în care apare 1 ianuarie.
Constant | Valoare | Descriere |
---|---|---|
vbUseSystem | 0 | Utilizați setarea API NLS. |
vbFirstJan1 | 1 | Începeți cu săptămâna în care apare 1 ianuarie (implicit). |
vbFirstFourDays | 2 | Începeți cu prima săptămână care are cel puțin patru zile în noul an. |
vbFirstFullWeek | 3 | Începeți cu prima săptămână completă a anului. |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
Exemple de funcții Excel VBA DateDiff
Date de referință
Pentru început, vom demonstra diferite moduri de referință a datelor folosind funcția VBA DateDiff.
Fiecare dintre aceste funcții DateDiff produce același rezultat:
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 aprilie 2022"), DateValue ("1 august 2022"))Sfârșitul Sub |
Sau puteți face referință la celule care conțin date:
12345 | Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Range ("C2"). Valoare, Range ("C3"). Value)Sfârșitul Sub |
Sau creați și faceți referință la variabile de dată:
123456789 | Sub DateDiff_Variable ()Dim dt1 Ca dată, dt2 Ca datădt1 = # 4/1/2019 #dt2 = # 8/1/2021 #MsgBox DateDiff („m”, dt1, dt2)Sfârșitul Sub |
V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!
Utilizarea diferitelor unități de interval
Sferturi
123 | Sub DateDiff_Quarter ()MsgBox "numărul de trimestre:" & DateDiff ("q", # 1/1/2019 #, # 1/1/2021 #)Sfârșitul Sub |
Luni
123 | Sub DataDiff_Month ()MsgBox "numărul de luni:" & DateDiff ("m", # 1/1/2019 #, # 1/1/2021 #)Sfârșitul Sub |
Zile
123 | Sub DataDiff_Day ()MsgBox "numărul de zile:" & DateDiff ("d", # 1/1/2019 #, # 1/1/2021 #)Sfârșitul Sub |
Săptămâni
123 | SubdatăDiff_Week ()MsgBox "numărul de săptămâni:" & DateDiff ("w", # 1/1/2019 #, # 1/1/2021 #)Sfârșitul Sub |
Ore
123456789101112 | Sub DataDiff_Hour ()Dim dt1 Ca datăDim dt2 Ca datăDim nDiff As Longdt1 = # 14/08/2019 9:30:00 AM #dt2 = # 14/08/2019 13:00:00 PM #nDiff = DateDiff ("h", dt1, dt2)MsgBox "ore:" & nDiffSfârșitul Sub |
Minute
123 | Sub DateDiff_Minute ()MsgBox "min:" & DateDiff ("n", # 8/14/2019 9:30:00 AM #, # 8/14/2019 9:35:00 #)Sfârșitul Sub |
Secunde
123 | Sub DataDiff_Second ()MsgBox „secunde:„ & DateDiff („s”, # 8/14/2019 9:30:10 #, # 8/14/2019 9:30:22 AM #)Sfârșitul Sub |