Funkcia DateDiff v Excel VBA
Funkcia VBA Datediff poskytuje rozdiel medzi dvoma zadanými intervalmi. Tu môže byť interval špecifikovaný ako hodiny / mesiace / dni … atď., Ako je špecifikované používateľom. Je to vstavaná funkcia v Exceli a je klasifikovaná ako funkcia „ Dátum / čas “. Môže byť použitý ako funkcia „ VBA “ v Exceli.
Syntax :
Parameter alebo argumenty použité vo funkcii DateDiff.
1. Interval:
- Je to povinné.
- Type: - Výraz typu String.
- Vypočíta rozdiel medzi týmito dvoma dátumami.
Nastavenia (interval) | Opis / Vysvetlenie |
"S" | sekundy |
"N" | minúty |
"H" | hodiny |
"D" | Dni |
"W" | všedný deň |
"M" | mesiaca |
"Ww" | týždeň |
"Y" | Deň v roku |
"Q" | štvrťrok |
"Rrrr" | rok |
2. Dátum1:
- Je to povinné.
- Typ: - Dátum.
- Predstavuje počiatočný dátum / čas pre výpočet dátumu.
3. Dátum 2:
- Je to povinné.
- Typ: - Dátum.
- Predstavuje konečný dátum / čas výpočtu datediff.
4. Prvý deň v týždni:
- Je voliteľné.
- Typ: - číselný alebo textový.
- Určuje deň, ktorý sa použije ako prvý deň v týždni.
- Ak je tento argument alebo parameter vynechaný, predpokladá sa, že prvý deň v týždni je nedeľa (VbSunday).
5. Prvý týždeň v roku
- Je voliteľné.
- Typ: - číselný alebo textový.
- Určuje deň, ktorý sa používa ako prvý týždeň v roku.
- Ak je tento argument alebo parameter vynechaný, predpokladá sa 1. január (vbFirstJan1) ako prvý týždeň v roku.
Ako povoliť kartu vývojára v programe Excel?
Karta vývojára je povinná na páse programu Excel na spustenie a zápis makra VBA. Nižšie sú uvedené rôzne kroky, ktoré umožňujú vývojárom kartu vo vynikajúcej VBA:
Krok 1: Prejdite na kartu ponuky Súbor .
Krok 2: V ponuke File (Súbor) kliknite na položku Options (Možnosti), ktorá sa nachádza v poslednom zozname dostupných možností v ponuke.
Krok 3: Kliknutím na Prispôsobiť pásku získate prístup k možnostiam prispôsobenia pásky.
Krok 4: Tu v možnostiach prispôsobenia sa zobrazuje možnosť Vývojár . Zaškrtnite ho, aby sa aktivovalo na hlavnom páse Excelu a bolo ľahko prístupné. Po kontrole možnosti Vývojár kliknite na tlačidlo OK .
Akonáhle stlačíte tlačidlo OK, uvidíte kartu Vývojár aktívny v ponuke pásu kariet Excel s množstvom rôznych možností dostupných pod. Pozri obrázok nižšie.
Ako používať funkciu DateDiff v programe Excel VBA?
Nižšie sú uvedené rôzne kroky na použitie funkcie DateDiff v programe Excel VBA:
Túto šablónu VBA DateDiff Excel si môžete stiahnuť tu - šablónu VBA DateDiff ExcelPríklad č. 1
V tomto príklade postupujte podľa nasledujúcich krokov na použitie funkcie DateDiff vo VBA:
Krok 1: Najskôr vytvorte názov makra.
kód:
Subbb () Koniec sub
Krok 2: Dve premenné sú definované ako dátum a je im priradený dátum.
kód:
Čiastkové bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # End Sub
Krok 3: Napíšte syntax funkcie Datediff s požadovaným argumentom a priraďte ju pomocou okna správy VBA.
kód:
Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) End Sub
Krok 4: Spustite kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať. Výsledok sa zobrazí v okne so správou.
Príklad č. 2
V nižšie uvedenom príklade funkcia datediff počíta počet rokov medzi dvoma dátumami „09/06/2016“ a „16/12/2020“. Tu sa nezohľadňujú voliteľné parametre.
kód:
Sub AA () 'Rozdiel za rok MsgBox DateDiff ("rrrr", "09/06/2016", "16/12/2020") Koniec sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 3
V nižšie uvedenom príklade funkcia datediff počíta počet mesiacov medzi dvoma dátumami “09/06/2016” a “16/12/2020”. Tu sa nezohľadňujú voliteľné parametre.
kód:
Sub AA1 () 'mesačný rozdiel MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 4
V nižšie uvedenom príklade funkcia datediff počíta počet týždňov medzi dvoma dátumami “09/06/2016” a “16/12/2020”. Tu sa nezohľadňujú voliteľné parametre.
kód:
Rozdiel sub-AA2 () 'týždňov MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 5
V nižšie uvedenom príklade funkcia „ datediff “ vypočíta počet štvrtín medzi dvoma dátumami „09/06/2016“ a „16/12/2020“. Tu sa nezohľadňujú voliteľné parametre.
kód:
Sub-AA3 () 'štvrťročný rozdiel MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 6
V nižšie uvedenom príklade funkcia „ datediff “ počíta počet dní medzi dvoma dátumami „09/06/2016“ a „16/12/2020“. Tu sa nezohľadňujú voliteľné parametre.
kód:
Rozdiel v čiastke AA4 () 'dní MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 7
V nižšie uvedenom príklade funkcia „ datediff “ počíta počet hodín medzi dvoma dátumami a časom „9:00 dňa 01.01.2010 “ a „11:00 dňa 19/04/209“.
kód:
Sub bb1 () 'Vypočítajte počet hodín od 1. 1. 2010 9:00 do 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 8
V nižšie uvedenom príklade funkcia „ datediff “ počíta počet sekúnd medzi dvoma dátumami a časom „9:00 dňa 01.01.2010 “ a „11:00 dňa 19/04/209“.
kód:
Sub bb2 () 'Vypočítajte počet sekúnd medzi 1. 1. 2010 9:00 a 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("s", dt1, dt2) End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 9
V nižšie uvedenom príklade funkcia „ datediff “ počíta počet minút medzi dvoma dátumami a časom „9:00 dňa 01.01.2010 “ a „11:00 dňa 19/04/209“.
kód:
Sub bb3 () 'Vypočítajte počet minút od 1. 1. 2010 9:00 do 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("n", dt1, dt2) End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 10
Ak je argument zadaný ako „w“ (týždne), funkcia „Datediff“ vráti číslo celého týždňa medzi dvoma dátumami. Čiastočné týždne sa ignorujú. V príklade funkcia „ DateDiff “ vypočíta počet celých týždňov medzi dátumami 01/01/2010 a 19/4/2019.
kód:
Sub bb4 () „Vypočítajte počet týždňov medzi 1. 1. 2010 a 19. 4. 2010 Dim dt1 ako dátum Dim dt2 ako dátum dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 11
Ak je argument zadaný ako „ww“ (kalendárne týždne), funkcia „Datediff“ poskytuje počet týždňov medzi začiatkom týždňa, ktorý obsahuje Date1, a začiatkom týždňa, ktorý obsahuje Date2.
kód:
Sub bb5 () „Vypočítajte počet kalendárnych týždňov medzi 1. 1. 2010 a 19.4.2019“ Prvý deň v týždni = pondelok Dim dt1 ako dátum Dim dt2 ako dátum dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Príklad č. 12
V nižšie uvedenom príklade sa funkcia „datediff“ používa pre dátumy „1. 1. 1990“ a „1. 1. 1998“
kód:
Subcc () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 # MsgBox ("riadok 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("riadok 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("riadok 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("riadok 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("riadok 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("riadok 6:" & DateDiff ("q"), dt1, dt2)) MsgBox ("riadok 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("riadok 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("riadok 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" riadok 10: "& DateDiff (" yyyy ", dt1, dt2)) End Sub
Program spustíte stlačením karty „ F8 “ alebo „ Spustiť “. Výsledok sa zobrazí v okne so správou.
Potom kliknite na „ OK “ a dostanete sa k ďalšiemu výsledku.
záver
Funkcia „ DateDiff “ teda pomáha pri určovaní počtu určených časových intervalov medzi dvoma určenými dátumami a časmi.
Odporúčané články
Toto je sprievodca programom VBA DateDiff. Tu diskutujeme o tom, ako používať funkciu DateDiff v Excel VBA spolu s praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -
- VBA Declare Array (príklady)
- Kompletný sprievodca VBA pri chybe
- Zrušte ochranu metódy listu vo VBA
- Stĺpce VBA Šablóna Excel
- VBA Environ