VBA DateDiff | Žingsnis po žingsnio pavyzdys, kaip naudoti „DateDiff VBA Excel“ funkciją
VBA funkcija DATEDIFF yra įmontuota funkcija VBA, kuri taip pat skirstoma pagal VBA datos ir laiko funkciją. Ši funkcija naudojama norint gauti skirtumą tarp dviejų datų, ši funkcija užima tris argumentus. Pirmasis argumentas yra tai, kokios skirtumo dalies mes norime kurios gali būti metų dienos ar mėnesiai ar sekundės ir dvi datos, o rezultatas yra sveikas skaičius.
DATEDIFF funkcija VBA
VBA funkcija DATEDIFF apskaičiuoja skirtumą tarp dviejų datų dienomis, mėnesiais, ketvirčiais ir metais.
„Excel“ programoje yra daug būdų, kaip rasti skirtumą tarp dviejų datų. Norint apskaičiuoti dviejų datų skirtumą, nereikia specialios formulės.
Pavyzdžiui, pažiūrėkite į žemiau esantį vaizdą.
Jei norime apskaičiuoti šių dviejų datų skirtumą, galime tiesiog atimti datą 1 iš 2.
Tai davė mums skirtumą tarp dviejų datų per kelias dienas. Tai yra šios bendros formulės problema. Jei mums reikia skirtumo mėnesiais, metais, ketvirčiais ir pan., Tai negali duoti.
Šiame straipsnyje mes parodysime, kaip naudoti šią „DateDiff“ funkciją VBA.
Kas yra „DATEDIFF“ funkcija „Excel VBA“?
DATEDIFF VBA reiškia „Datos skirtumas tarp dviejų datų“.
Ši funkcija gali suteikti mums laiko intervalo tarp dviejų datų skaičių. Kai norime rasti skirtumą tarp dviejų datų, tai galime rasti dienomis, savaitėmis, mėnesiais, ketvirčiais ir kt.
Norėdami suprasti funkciją, žiūrėkite žemiau esančią funkcijos sintaksę.
Intervalas: tai ne kas kita, o tai, kaip norite apskaičiuoti dienų skirtumą. Nesvarbu, ar tai dienos, mėnesiai, savaitės, ketvirčiai ir kt. Žemiau pateikiamas tų pačių sąrašas.
1 data: kokia yra pirmoji data, kuria norite rasti skirtumą.
2 data: kokia yra antroji data, kuria norite rasti skirtumą nuo 1 datos. 1 data: kokia yra pirmoji data, kuria norite rasti skirtumą.
Čia formulė yra 2 data - 1 data.
[Pirmoji savaitės diena]: kokia yra pirmoji savaitės diena? Mes galime vadovautis šiais argumentais.
[Pirmoji metų savaitė]: kokia yra pirmoji metų savaitė. Galime įvesti šiuos argumentus.
DATEDIFF funkcijos „Excel VBA“ pavyzdžiai
Toliau pateikiami „Excel VBA DateDiff“ pavyzdžiai.
Šį „VBA DateDiff“ funkcijos šabloną galite atsisiųsti čia - „VBA DateDiff“ funkcijos šabloną1 pavyzdys - rasti skirtumus per dienas
Tarkime, kad turite dvi datas „2018-01-15“ ir „2019-01-15“. Rasime įvairiausių šių dviejų datų skirtumų.
1 veiksmas: pirmiausia sukurkite makrokomandos pavadinimą.
Kodas:
Sub DateDiff_Example1 () End Sub
2 žingsnis: Apibrėžkite du kintamuosius kaip datą.
Kodas:
Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date End Sub
3 žingsnis: Dabar „Date1“ kintamajam priskiriama „2018-01-15“ ir „Date2“ kintamajam priskiriama „2019-01-15“.
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Date1 = "2018-01-15" Date2 = "2019-01-15" End Sub
4 žingsnis: Dabar, jei norite išsaugoti rezultatus, dar vieną kintamąjį apibūdinkite kaip „Long“.
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" End Sub
5 žingsnis: Dabar priskirkite šio kintamojo vertę naudodami funkciją DATEDIFF VBA
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff (End Sub
6 žingsnis: Pirmasis argumentas yra tai, kokio skirtumo mums reikia tarp šių dviejų datų. Tarkime, mums reikia rasti dienų skaičių, todėl argumentą pateikite kaip „D“.
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff ("D", End Sub
7 žingsnis: kokia yra pirmoji data norint sužinoti skirtumą. Pirmoji mūsų data yra „2018-01-15“, kurią jau priskyrėme kintamajam „Date1“. Taigi pateikite kintamojo pavadinimą čia.
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff ("D", Date1, End Sub
8 žingsnis: kokia yra antroji data norint sužinoti skirtumą. Antroji data yra „2019-01-15“, kuri turi vertę per kintamąjį „Date2“.
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff ("D", Date1, Date2) Pabaiga Sub
9 veiksmas: nepaisykite dviejų paskutinių parametrų. Dabar priskirkite kintamojo „Rezultatas“ vertę per VBA pranešimų laukelį.
Kodas:
Sub DateDiff_Example1 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas toks ilgas Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff ("D", Date1, Date2) MsgBox Rezultatas End Sub
Dabar paleiskite kodą naudodami F5 klavišą arba rankiniu būdu, gausime skirtumą tarp šių dviejų datų per kelias dienas.
Taigi nuo „2018-01-15“ iki 2019-01-15 tikslus skirtumas yra 1 metai, taigi gavome 365 dienas.
Tokiu būdu mes galime rasti skirtumą tarp dviejų datų laiko intervalais.
2 pavyzdys - rasti skirtumą mėnesiais
Kodas:
Sub DateDiff_Example2 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff ("M", Date1, Date2) MsgBox Rezultatas Pabaiga Sub
Paleiskite šį kodą naudodami klavišą F5 arba galite paleisti rankiniu būdu, kad rezultatas būtų pateiktas taip, kaip nurodyta toliau.
3 pavyzdys - rasti skirtumą per metus
Kodas:
Sub DateDiff_Example3 () Dim Date1 as Date Dim Date2 As Date Dim Rezultatas As Long Date1 = "2018-01-15" Date2 = "2019-01-15" Rezultatas = DateDiff ("YYYY", Date1, Date2) MsgBox Rezultatas Pabaiga Sub
Paleiskite šį kodą naudodami klavišą F5 arba rankiniu būdu, kad pamatytumėte rezultatą.
Užduotis kaip praktika
Tikiuosi, kad supratote VBA DATEDIFF funkciją. Pažvelkite į žemiau pateiktus namų darbus. „Mėnesiuose“ raskite skirtumą tarp žemiau nurodytų datų.
Jei neradote žemiau nurodyto būdo, turite jums paruoštą kodą.
Kodas:
Pavadinimas () Dim k As Long For k = 2–8 langeliai (k, 3). Vertė = DateDiff („M“, ląstelės (k, 1), ląstelės (k, 2)) Kitas k End Sub
Galite pamatyti šį kodą rankiniu būdu arba paspausti klavišą F5, kad pamatytumėte rezultatą.