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 |