Funkcija VBA DateDiff

DateDiff Aprašymas

Grąžina dviejų datos verčių skirtumą pagal nurodytą intervalą.

Paprasti DateDiff pavyzdžiai

Čia yra paprastas „DateDiff“ pavyzdys:

123 Sub DateDiff_Year ()„MsgBox“ DateDiff („yyyy“, #1/1/2019 #, #8/1/2021 #)Pabaiga Sub

Šis kodas grąžins 2. Tai skirtumas tarp metų (nurodytas „yyyy“) tarp 2 dienų. (2021–2022 = 2)

Aukščiau pateiktame pavyzdyje pakeiskite datos1 ir datos2 pozicijas.

123 Sub DateDiff_Year ()„MsgBox DateDiff“ („yyyy“, #20/1/2021 #, #1/1/2019 #)Pabaiga Sub

Šis kodas grąžins -2.

DateDiff sintaksė

VBA redaktoriuje galite įvesti „DateDiff (“), kad pamatytumėte „DateDiff“ funkcijos sintaksę:

Funkcijoje DateDiff yra 5 argumentai:

Intervalas: Laiko vienetas (dienos, mėnesiai, metai ir kt.). Įveskite kaip eilutę. (pvz., „m“ mėnesiui)

Nustatymas apibūdinimas
yyyy Metai
q Ketvirtis
m Mėnuo
y Metų diena
d Diena
w Savaitės diena
ww Savaitė
h Valanda
n Minutė
s Antra

Data1, data2: Dvi datos, kurias norite naudoti skaičiuodami.

„FirstDayOfWeek“: Konstanta, nurodanti pirmąją savaitės dieną. Tai neprivaloma. Jei nenurodyta, laikoma, kad sekmadienis.

Pastovus Vertė apibūdinimas
vbUseSystem 0 Naudokite NLS API nustatymą.
vbSekmadienis 1 Sekmadienis (numatytasis)
vbPirmadienis 2 Pirmadienis
vbAntradienis 3 Antradienį
vbTrečiadienis 4 Trečiadienis
vbKetvirtadienis 5 Ketvirtadienis
vbPenktadienis 6 Penktadienis
vbŠeštadienis 7 Šeštadienis

„FirstWeekOfYear“: Konstanta, nurodanti pirmąją metų savaitę. Tai neprivaloma. Jei nenurodyta, laikoma, kad pirmoji savaitė yra savaitė, kurią įvyksta sausio 1 d.

Pastovus Vertė apibūdinimas
vbUseSystem 0 Naudokite NLS API nustatymą.
vbPirmasJan1 1 Pradėkite nuo savaitės, kurią įvyksta sausio 1 d. (Numatytasis).
vbFirstFourDays 2 Pradėkite nuo pirmosios savaitės, kuri turi mažiausiai keturias dienas naujaisiais metais.
vbFirstFullWeek 3 Pradėkite nuo pirmosios pilnos metų savaitės.

VBA programavimas | Kodo generatorius jums tinka!

„Excel VBA DateDiff“ funkcijos pavyzdžiai

Nuorodos datos

Norėdami pradėti, parodysime skirtingus datų nuorodų būdus, naudodami funkciją VBA DateDiff.

Kiekviena iš šių „DateDiff“ funkcijų duoda tą patį rezultatą:

123456789 Sub DateDiff_ReferenceDates ()„MsgBox“ DateDiff („m“, 2019-04-01, #8/1/2021 #)„MsgBox“ DateDiff („m“, „DateSerial“ (2019, 4, 1), „DateSerial“ (2021, 8, 1))„MsgBox“ DateDiff („m“, DateValue („2022 m. Balandžio 1 d.“), DateValue („2022 m. Rugpjūčio 1 d.“))Pabaiga Sub

Arba galite nurodyti langelius, kuriuose yra datos:

12345 Sub DateDiff_ReferenceDates_Cell ()„MsgBox DateDiff“ („m“, diapazonas („C2“). Vertė, diapazonas („C3“). Vertė)Pabaiga Sub

Arba sukurkite ir nurodykite datos kintamuosius:

123456789 Sub DateDiff_Variable ()Dim dt1 kaip data, dt2 kaip datadt1 = #4/1/2019 #dt2 = #8/1/2021 #„MsgBox DateDiff“ („m“, dt1, dt2)Pabaiga Sub

Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!

Skirtingų intervalų vienetų naudojimas

Ketvirčiai

123 Sub DateDiff_Quarter ()„MsgBox“ ketvirčių skaičius: „& DateDiff („ q “, #1/1/2019 #, #1/1/2021 #)Pabaiga Sub

Mėnesių

123 Sub DateDiff_Month ()„MsgBox“ mėnesių skaičius: „& DateDiff („ m “, #1/1/2019 #, #1/1/2021 #)Pabaiga Sub

Dienos

123 Antroji dataDiff_Day ()„MsgBox“ dienų skaičius: „& DateDiff („ d “, #1/1/2019 #, #1/1/2021 #)Pabaiga Sub

Savaitės

123 Sub DateDiff_Week ()„MsgBox“ savaičių skaičius: „& DateDiff („ w “, #1/1/2019 #, #1/1/2021 #)Pabaiga Sub

Valandos

123456789101112 Sub DateDiff_Hour ()Dim dt1 kaip dataDim dt2 kaip dataDim nDiff As Longdt1 = #2019-04-14 9:30:00 #dt2 = #8/14/2019 1:00:00 PM #nDiff = DateDiff ("h", dt1, dt2)„MsgBox“ valandos: „& nDiffPabaiga Sub

Minutės

123 Sub DateDiff_Minute ()„MsgBox“ minutės: „& DateDiff („ n “, 2019-08-14 9:30:00 #, #8/14/2019 9:35:00 #)Pabaiga Sub

Sekundės

123 Sub DateDiff_Second ()„MsgBox“ sek.: „& DateDiff („ s “, 2019-08-14 9:30:10 #, #8/14/2019 9:30:22 #)Pabaiga Sub
wave wave wave wave wave