Funcția VBA DateDiff

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

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave