Funkce DateDiff v Excelu VBA

Funkce VBA Datediff poskytuje rozdíl mezi dvěma zadanými intervaly. Zde může být interval specifikován jako hodiny / měsíce / dny … atd., Jak je specifikováno uživatelem. Jedná se o vestavěnou funkci v Excelu a kategorizovanou jako funkce „ Datum / čas “. Může být použit jako funkce „ VBA “ v Excelu.

Syntaxe :

Parametr nebo argumenty použité ve funkci DateDiff.

1. Interval:

  • Je to povinné.
  • Type: - Výraz typu String.
  • Vypočítá rozdíl mezi těmito dvěma daty.
Nastavení (interval) Popis / vysvětlení
„S“ Sekundy
„N“ Minut
„H“ Hodiny
„D“ Dny
„W“ Všední den
„M“ Měsíce
„Ww“ Týden
„Y“ Den v roce
„Q“ Čtvrťák
„Yyyy“ Rok

2. Datum1:

  • Je to povinné.
  • Typ: - Datum.
  • Představuje počáteční datum / čas výpočtu datediff.

3. Datum2:

  • Je to povinné.
  • Typ: - Datum.
  • Představuje konečné datum / čas pro výpočet datovanéhoiffu.

4. První den v týdnu:

  • Je volitelný.
  • Typ: - Numeric nebo Text.
  • Určuje den, který se použije jako první den v týdnu.
  • Pokud je tento argument nebo parametr vynechán, předpokládá se jako první den v týdnu neděle (VbSunday).

5. První týden v roce

  • Je volitelný.
  • Typ: - Numeric nebo Text.
  • Určuje den, který se používá jako první týden v roce.
  • Pokud je tento argument nebo parametr vynechán, předpokládá se první týden roku 1. ledna (vbFirstJan1).

Jak povolit kartu vývojáře v Excelu?

Karta vývojáře je povinná na pásu karet Excel pro spuštění a zápis makra VBA. Níže jsou uvedeny různé kroky, které umožňují vývojářům kartu v Excelu VBA:

Krok 1: Přejděte na kartu Nabídka Soubor .

Krok 2: V nabídce Soubor klikněte na Možnosti umístěné na poslední ze seznamu dostupných možností v nabídce.

Krok 3: Klepnutím na Přizpůsobit pás karet otevřete možnosti přizpůsobení pásu.

Krok 4: Zde v možnostech přizpůsobení vidíte možnost Vývojář . Zaškrtněte ji, aby se aktivovala na hlavní stuze Excelu a byla snadno přístupná. Po zaškrtnutí možnosti Vývojář klepněte na tlačítko OK .

Jakmile stisknete tlačítko OK, uvidíte kartu Vývojář aktivní v nabídce pásu karet Excel s množstvím různých možností dostupných pod položkou. Viz obrázek níže.

Jak používat funkci DateDiff v aplikaci Excel VBA?

Níže jsou uvedeny různé kroky k použití funkce DateDiff v aplikaci Excel VBA:

Tuto šablonu VBA DateDiff Excel si můžete stáhnout zde - VBA DateDiff Excel Template

Příklad č. 1

V tomto příkladu postupujte podle níže uvedených kroků k použití funkce DateDiff ve VBA:

Krok 1: Nejprve vytvořte název makra.

Kód:

 Sub bb () End Sub 

Krok 2: Dvě proměnné jsou definovány jako datum a je jim přiřazeno datum.

Kód:

 Díl 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: Napište syntaxi funkce Datediff s požadovaným argumentem a přiřaďte ji prostřednictvím zprá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: Spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát. Výsledek se zobrazí v okně se zprávou.

Příklad č. 2

V níže uvedeném příkladu funkce datediff počítá počet let mezi dvěma daty „09/06/2016“ a „16/12/2020“. Zde nejsou brány v úvahu volitelné parametry.

Kód:

 Sub AA () 'Rozdíl roku MsgBox DateDiff ("rrrr", "09/06/2016", "16/12/2020") Konec Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 3

V níže uvedeném příkladu funkce datediff počítá počet měsíců mezi dvěma daty “09/06/2016” a “16/12/2020”. Zde nejsou brány v úvahu volitelné parametry.

Kód:

 Sub AA1 () 'měsíční rozdíl MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 4

V níže uvedeném příkladu funkce datediff počítá počet týdnů mezi dvěma daty “09/06/2016” a “16/12/2020”. Zde nejsou brány v úvahu volitelné parametry.

Kód:

 Sub AA2 () 'týdenní rozdíl MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 5

V níže uvedeném příkladu funkce „ datediff “ počítá počet čtvrtletí mezi dvěma daty „09/06/2016“ a „16/12/2020“. Zde nejsou brány v úvahu volitelné parametry.

Kód:

 Rozdíl čtvrtletí Sub AA3 () 'MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 6

V níže uvedeném příkladu funkce „ datediff “ počítá počet dní mezi dvěma daty „09/06/2016“ a „16/12/2020“. Zde nejsou brány v úvahu volitelné parametry.

Kód:

 Rozdíl Sub AA4 () 'dnů MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 7

V níže uvedeném příkladu funkce „ datediff “ počítá počet hodin mezi dvěma daty a časem „9:00 dne 01.01.2010“ a „11:00 dne 19/04/209“.

Kód:

 Sub bb1 () 'Vypočítat počet hodin 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 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 8

V níže uvedeném příkladu funkce „ datovanýiff “ počítá počet sekund mezi oběma daty a časem “9:00 dne 01/01/2010 ” a “11:00 dne 19/04/2019”.

Kód:

 Sub bb2 () 'Vypočítejte počet sekund mezi 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 dop. # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 9

V níže uvedeném příkladu funkce „ datovanýiff “ počítá počet minut mezi dvěma daty a časem „9:00 dne 01.01.2010“ a „11:00 dne 19/04/209“.

Kód:

 Sub bb3 () 'Vypočítat počet minut mezi 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 dop. # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 10

Pokud je argument zadán jako „w“ (týdny), funkce „Datediff“ vrací číslo celého týdne mezi dvěma daty. Částečné týdny jsou ignorovány. V příkladu funkce „ DateDiff “ počítá počet celých týdnů mezi daty 01/01/2010 a 19/4/2019.

Kód:

 Sub bb4 () 'Vypočítejte počet týdnů mezi 1. 1. 2010 a 19. 4. 2010 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 11

Pokud je argument zadán jako „ww“ (kalendářní týdny), funkce „Datediff“ poskytuje počet týdnů mezi začátkem týdne obsahujícího Datum1 a začátkem týdne obsahujícího Datum2.

Kód:

 Sub bb5 () 'Vypočítat počet kalendářních týdnů mezi 1. 1. 2010 a 19/4/2019' První den v týdnu = pondělí Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Příklad č. 12

V níže uvedeném příkladu je funkce „datediff“ použita pro data „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 ("řádek 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("řádek 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("řádek 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("řádek 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("řádek 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("řádek 6:" & DateDiff ("q"), dt1, dt2)) MsgBox ("řádek 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("řádek 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("řádek 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" řádek 10: "& DateDiff (" yyyy ", dt1, dt2)) End Sub 

Pro spuštění programu stiskněte záložku „ F8 “ nebo „ Spustit “. Výsledek se zobrazí v okně se zprávou.

Poté klepnutím na „ Ok “ získáte další výsledek.

Závěr

FunkceDateDiff “ tedy pomáhá určit, kolik zadaných časových intervalů existuje mezi dvěma zadanými daty a časy.

Doporučené články

Toto je průvodce VBA DateDiff. Zde diskutujeme o tom, jak používat funkci DateDiff v Excelu VBA, spolu s praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. VBA Declare Array (příklady)
  2. Kompletní průvodce VBA při chybě
  3. Zrušte ochranu metody listu ve VBA
  4. Sloupce VBA | Šablona Excel
  5. VBA Environ

Kategorie: