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 TemplatePří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
Funkce „ DateDiff “ 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 -
- VBA Declare Array (příklady)
- Kompletní průvodce VBA při chybě
- Zrušte ochranu metody listu ve VBA
- Sloupce VBA | Šablona Excel
- VBA Environ