Excel VBA DatePart

Předpokládejme, že máme data v našich datech a nevíme, že ani který týden nebo která část měsíce to není. Existují různé způsoby, jak to zjistit. Ve Excelu existují některé složité vzorce, které musíme provést, abychom to zjistili. Například, pokud existuje datum, 2.-2. Února 2019, výpočet zjišťování čtvrtletí pro toto datum v Excelu je složitý. VBA nám však poskytuje velmi užitečnou funkci nazvanou DatePart, která pro nás provádí takové výpočty.

Už jsem vysvětlil výše, proč používáme funkci DatePart ve VBA. Tato funkce se používá k nalezení části data, ať už je to den, měsíc, týden nebo čtvrt hodiny nebo sekundy. Tato funkce vrátí celé číslo jako výstup. Abychom pochopili více o této funkci, projdeme si nejprve podrobně syntaxi této funkce.

Syntaxe DatePart v Excelu VBA

Podívejme se na níže uvedenou syntaxi pro DatePart v aplikaci Excel VBA.

Jak vidíme, k této funkci jsou poskytnuty celkem čtyři argumenty. První dva argumenty jsou povinné, zatímco zbývající dva argumenty jsou volitelné. Pokud však neposkytneme poslední dva argumenty, má pro něj VBA své vlastní výchozí hodnoty.

  • Interval: Tento argument je poskytován jako řetězec této funkce. Tento argument může být měsíc, týden, rok, den nebo dokonce hodinu, minuty nebo sekundy. Například pro čtvrtinu bude syntaxe „q“, nebo pro rok bude syntaxe „rrrr“ a tak dále.
  • Datum: Toto je vstupní datum, které poskytujeme této funkci, pro kterou část chceme zjistit.
  • FirstDayofWeek: Toto je volitelný argument, který dáváme této funkci. Pokud ale tuto funkci neposkytneme, bude VBA automaticky považovat SUNDAY za první den v týdnu. Pro poskytnutí tohoto argumentu existují následující syntaxe:

vbUseSystem (Tato syntaxe používá NLS API NASTAVENÍ), vbSunday (Toto je výchozí argument), vbMonday, vbTuesday, vbWed Wednesday, vbTh čtvrtek, vbFriday, vbSaturday (zbytek všech těchto argumentů je nepovinný)

  • FirstWeekofYear: Toto je také volitelný argument pro tuto funkci. Pokud však tento argument nezadáme, VBA automaticky považuje první týden podle toho, který týden je první od 1. ledna. Také pro tento argument existují různé syntaxe, jsou následující:

vbUseSystem, vbFirstJan1 (Toto je výchozí), vbFirstFourDays (Tento argument začíná prvním týdnem, který má alespoň první čtyři dny v novém roce), vbFirstFullWeek (Tento argument začíná prvním úplným týdnem roku).

Nyní jsme se dozvěděli o funkcích a jejich argumentech, abychom tuto funkci vyzkoušeli v příkladech.

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

Níže jsou uvedeny různé příklady použití funkce DatePart v Excelu pomocí kódu VBA.

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

Excel VBA DatePart - Příklad č. 1

Vezměme si vstup od uživatele jako datum a část, kterou chce uživatel zjistit, pak použijeme funkci DatePart a zobrazíme výsledek.

Chcete-li použít funkci DatePart v aplikaci Excel VBA, postupujte takto:

Krok 1: Na kartě vývojáře v sekci kód klikněte na Visual Basic, který nás zavede do editoru VB.

Krok 2: Jakmile jste v editoru VB, vložte nový modul do projektu VBA, jak je ukázáno níže.

Krok 3: Nyní dvakrát klikněte na modul a začněte prohlašovat nový podprogram, jak je ukázáno níže.

Kód:

 Vzorek () Konec Sub 

Krok 4: Definujte tři proměnné jednu jako řetězec a datum, které budou obsahovat část data a datum našeho vstupu a druhou jako celé číslo, které bude ukládat náš výstup.

Kód:

 Dílčí vzorek () Dim Dt jako datum, Prt jako řetězec, Res jako celé číslo konce Sub 

Krok 5: V proměnné date požádejte uživatele o zadání data.

Kód:

 Dílčí vzorek () Dim Dt jako datum, Prt jako řetězec, Res As Integer Dt = InputBox ("Zadejte datum") End Sub 

Krok 6: V Prt, který je součástí, vezměte vstup od uživatele pro datovou část, kterou musíme zjistit.

Kód:

 Dílčí vzorek () Dim Dt jako datum, Prt jako řetězec, Res As Integer Dt = InputBox ("Zadejte datum") Prt = InputBox ("Zadejte část data") End Sub 

Krok 7: Nyní v proměnné Res, což je výsledek, zjistíme výsledek pomocí funkce DatePart následujícím způsobem.

Kód:

 Dílčí vzorek () Dim Dt jako datum, Prt jako řetězec, Res jako celé číslo Dt = InputBox ("Zadejte datum") Prt = InputBox ("Zadejte část data") Res = DatePart (Prt, Dt) End Sub 

Krok 8: Zobrazte hodnotu uloženou v Res pomocí funkce msgbox.

Kód:

 Dílčí vzorek () Dim Dt jako datum, Prt jako řetězec, Res jako celé číslo Dt = InputBox ("Zadejte datum") Prt = InputBox ("Zadejte část data") Res = DatePart (Prt, Dt) MsgBox Res End Sub Sub 

Krok 9: Nyní spustíme výše uvedený kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát a zadejte následující datum.

Krok 10: Zadejte hodnotu Část data.

Krok 11: Stisknutím tlačítka OK zobrazíte výsledek, jak je uvedeno níže.

Výsledkem je 1, protože datum, které jsme zadali jako vstup, spadá do prvního čtvrtletí roku.

Excel VBA DatePart - Příklad č. 2

Tentokrát poskytneme datum přímo funkci v kódu. Chcete-li použít funkci DatePart v aplikaci Excel VBA, postupujte takto:

Krok 1: Ve stejném modulu definujte další podprogram, jak je uvedeno níže.

Kód:

 Dílčí vzorek1 () Koncový díl 

Krok 2: Definujte jednu proměnnou jako celé číslo a jednu proměnnou jako datum, jak je uvedeno níže.

Kód:

 Dílčí vzorek1 () Dim Dt jako datum, Res jako celé číslo konce Sub 

Krok 3: Zadejte proměnné datum.

Kód:

 Dílčí vzorek1 () Dim Dt jako datum, Res jako celé číslo Dt = # 2/2/2019 # End Sub 

Krok 4: V proměnné Res vypočítáme pomocí funkce DatePart týden v týdnu.

Kód:

 Dílčí vzorek1 () Dim Dt jako datum, Res jako celé číslo Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Krok 5: Zobrazte hodnotu uloženou v proměnné pomocí funkce msgbox.

Kód:

 Dílčí vzorek1 () Dim Dt jako datum, Res jako celé číslo Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub Sub 

Krok 6: Spusťte výše uvedený kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát, abyste získali následující výsledek.

Datum, které jsme zadali jako vstup, spadá do pátého týdne v roce.

Excel VBA DatePart - Příklad # 3

Zkusme nějaký příklad ze skutečného života. V listu 1 v buňce A1 jsem použil vzorec = Now () k získání aktuálního data a času a zjistíme datovou část pro tuto buňku.

Chcete-li použít funkci DatePart v aplikaci Excel VBA, postupujte takto:

Krok 1: Ve stejném modulu definujte další podprogram následujícím způsobem.

Kód:

 Dílčí vzorek2 () Koncový díl 

Krok 2: Definujte dvě proměnné jako datum a druhou jako celé číslo.

Kód:

 Dílčí vzorek2 () Dim Dt jako datum, Res jako celé číslo konce Sub 

Krok 3: V proměnné Dt store je hodnota buňky A1 následující.

Kód:

 Dílčí vzorek2 () Dim Dt jako datum, Res jako celé číslo Dt = Range ("A1"). Hodnota End Sub 

Krok 4: Nyní v proměnné res můžeme vypočítat týdenní část pro vstup pomocí funkce DatePart.

Kód:

 Dílčí vzorek2 () Dim Dt jako datum, Res jako celé číslo Dt = Range ("A1"). Hodnota Res = DatePart ("ww", Dt) End Sub 

Krok 5: Zobrazte hodnotu uloženou v proměnné pomocí funkce Msgbox.

Kód:

 Dílčí vzorek2 () Dim Dt jako datum, Res jako celé číslo Dt = Range ("A1"). Hodnota Res = DatePart ("ww", Dt) MsgBox Res End Sub Sub 

Krok 6: Spusťte výše uvedený kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát, abyste získali následující výsledek.

Aktuální datum je 25. července, což je 30. týden roku 2019.

Co si pamatovat

  • Je to funkce data, ale vrací celočíselnou hodnotu.
  • První dva argumenty jsou povinné, zatímco zbývající dva argumenty jsou volitelné.
  • VBA má své vlastní výchozí argumenty, pokud neposkytneme poslední dva argumenty pro funkci DatePart.
  • Tato funkce je funkcí VBA, nikoli funkcí listu.

Doporučené články

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

  1. VBA DateAdd
  2. DNES vzorec v Excelu
  3. Funkce data VBA
  4. NYNÍ Funkce Excel
  5. Jak používat formát data VBA v Excelu?
  6. Kde napsat kód ve VBA?

Kategorie: