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 Excel

Prí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 -

  1. VBA Declare Array (príklady)
  2. Kompletný sprievodca VBA pri chybe
  3. Zrušte ochranu metódy listu vo VBA
  4. Stĺpce VBA Šablóna Excel
  5. VBA Environ

Kategórie: