Excel VBA DatePart

Predpokladajme, že v našich údajoch máme dátumy a nevieme, ktorý týždeň alebo ktorá časť mesiaca je. Existuje niekoľko spôsobov, ako to zistiť. Vo vynikajúcej podobe existujú zložité vzorce, ktoré musíme urobiť, aby sme to našli. Napríklad, ak existuje dátum 02. február-2019, výpočet zisťovania štvrťroka pre tento dátum v exceli je komplexný. VBA nám však poskytuje veľmi užitočnú funkciu s názvom DatePart, ktorá pre nás vykonáva také výpočty.

Už som vysvetlil vyššie, prečo používame funkciu DatePart vo VBA. Táto funkcia sa používa na zistenie časti dátumu, či už ide o deň, mesiac alebo týždeň, štvrtiny alebo dokonca hodiny alebo sekundy. Táto funkcia vráti celé číslo ako výstup. Aby sme pochopili viac o tejto funkcii, prečítajte si najprv podrobne syntax tejto funkcie.

Syntax DatePart v Excel VBA

Pozrime sa na nižšie uvedenú syntax pre DatePart v aplikácii Excel VBA.

Ako vidíme, k tejto funkcii boli poskytnuté celkom štyri argumenty. Prvé dva argumenty sú povinné, zatiaľ čo zvyšné dva argumenty sú voliteľné. Ak však neposkytneme posledné dva argumenty, má VBA preň vlastné predvolené hodnoty.

  • Interval: Tento argument sa poskytuje ako reťazec tejto funkcie. Tento argument môže byť mesiac, týždeň, rok, deň alebo dokonca hodina, minúty alebo sekundy. Napríklad pre štvrtinu bude syntax „q“ alebo pre rok bude syntax „rrrr“ atď.
  • Dátum: Toto je vstupný dátum, ktorý poskytujeme tejto funkcii, pre ktorú časť chceme zistiť.
  • FirstDayofWeek: Toto je voliteľný argument, ktorý uvádzame pre túto funkciu. Ak ale túto funkciu neposkytneme, VBA automaticky považuje SUNDAY za prvý deň v týždni. Na poskytnutie tohto argumentu existuje odlišná syntax:

vbUseSystem (Táto syntax používa NASTAVENIE NLS API), vbSunday (Toto je predvolený argument), vbMonday, vbTuesday, vbWed Wednesday, vbTh Thursday, vbFriday, vbSaturday (ostatné, všetky tieto argumenty sú nepovinné)

  • FirstWeekofYear: Toto je voliteľný argument pre túto funkciu. Ak však tento argument neposkytneme, spoločnosť VBA automaticky zváži prvý týždeň, podľa toho, ktorý týždeň je prvý od 1. januára. Tiež pre tento argument existujú rôzne syntaxe, sú nasledujúce:

vbUseSystem, vbFirstJan1 (Toto je predvolené nastavenie), vbFirstFourDays (Tento argument sa začína prvým týždňom, ktorý má najmenej prvé štyri dni v novom roku), vbFirstFullWeek (Tento argument sa začína prvým celým týždňom roka).

Teraz sme sa dozvedeli o funkciách a ich argumentoch, otestujme túto funkciu v príkladoch.

Ako používať funkciu DatePart v programe Excel VBA?

Nižšie sú uvedené rôzne príklady použitia funkcie DatePart vo formáte Excel pomocou kódu VBA.

Túto šablónu Excel VBA DatePart si môžete stiahnuť tu - šablónu VBA DatePart Excel

Excel VBA DatePart - Príklad č. 1

Vezmime vstup od užívateľa ako dátum a časť, ktorú chce užívateľ zistiť, potom použijeme funkciu DatePart a zobrazíme výsledok.

Ak chcete použiť funkciu DatePart v programe Excel VBA, postupujte podľa nasledujúcich krokov:

Krok 1: Na karte vývojára v sekcii kódu kliknite na položku Visual Basic, čím sa dostanete do editora VB.

Krok 2: Raz v editore VB vložte nový modul do projektu VBA, ako je to znázornené nižšie.

Krok 3: Teraz dvakrát kliknite na modul a začnite deklarovať nový podprogram, ako je to znázornené nižšie.

kód:

 Čiastková vzorka () Koniec č 

Krok 4: Definujte tri premenné jednu ako reťazec a dátum, ktoré budú obsahovať dátumovú časť a dátum nášho vstupu a druhú ako celé číslo, ktoré bude ukladať náš výstup.

kód:

 Čiastková vzorka () Dim Dt As Date, Prt As String, Res As Integer End Sub 

Krok 5: V premennej date požiadajte používateľa o zadanie dátumu vstupu.

kód:

 Čiastková vzorka () Dim Dt ako dátum, Prt ako reťazec, Res As Integer Dt = InputBox („Zadajte dátum“) End Sub 

Krok 6: V Prt, ktorý je súčasťou, vezmite vstup od používateľa pre dátumovú časť, ktorú musíme zistiť.

kód:

 Čiastková vzorka () Dim Dt ako dátum, Prt ako reťazec, Res As Integer Dt = InputBox („Zadajte dátum“) Prt = InputBox („Zadajte časť dátumu“) End Sub 

Krok 7: Teraz v premennej Res, ktorá je výsledkom, nájdeme výsledok pomocou funkcie DatePart nasledovne.

kód:

 Čiastková vzorka () Dim Dt ako dátum, Prt ako reťazec, Res As Integer Dt = InputBox ("Zadajte dátum") Prt = InputBox ("Enter Date Part") Res = DatePart (Prt, Dt) End Sub 

Krok 8: Zobrazte hodnotu uloženú v Res pomocou funkcie msgbox.

kód:

 Čiastková vzorka () Dim Dt ako dátum, Prt ako reťazec, Res As Integer Dt = InputBox ("Zadajte dátum") Prt = InputBox ("Enter Date Part") Res = DatePart (Prt, Dt) MsgBox Res End Sub Sub 

Krok 9: Teraz spustime vyššie uvedený kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať a zadajte nasledujúci dátum.

Krok 10: Zadajte hodnotu časti dátumu.

Krok 11: Stlačením tlačidla OK zobrazíte výsledok, ako je uvedené nižšie.

Výsledkom je 1, pretože dátum, ktorý sme uviedli ako vstup, spadá do prvého štvrťroka roka.

Excel VBA DatePart - Príklad č. 2

Tentoraz uveďte dátum priamo funkcii v kóde. Ak chcete použiť funkciu DatePart v programe Excel VBA, postupujte podľa nasledujúcich krokov:

Krok 1: V rovnakom module definujte ďalšie podprogramy, ako je uvedené nižšie.

kód:

 Čiastková vzorka1 () Koncová čiastková č 

Krok 2: Definujte jednu premennú ako celé číslo a jednu premennú ako dátum, ako je uvedené nižšie.

kód:

 Čiastková vzorka1 () Dim Dt ako dátum, Res ako celé číslo Sub 

Krok 3: Zadajte dátum premennej.

kód:

 Čiastková vzorka1 () Dim Dt ako dátum, Res ako celé číslo Dt = # 2/2/2019 # End Sub 

Krok 4: V premennej Res vypočítajme pomocou funkcie DatePart týždeň v týždni.

kód:

 Čiastková vzorka1 () Dim Dt ako dátum, Res ako celé číslo Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Krok 5: Zobrazte hodnotu uloženú v premennej pomocou funkcie msgbox.

kód:

 Čiastková vzorka1 () Dim Dt ako dátum, Res ako celé číslo Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub Sub 

Krok 6: Spustite vyššie uvedený kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať a získajte nasledujúci výsledok.

Dátum, ktorý sme uviedli ako vstup, spadá do piateho týždňa roka.

Excel VBA DatePart - Príklad č. 3

Skúsme nejaký príklad zo skutočného života. V hárku 1 v bunke A1 som použil vzorec = Now () na získanie aktuálneho dátumu a času a zistíme časť dátumu pre túto bunku.

Ak chcete použiť funkciu DatePart v programe Excel VBA, postupujte podľa nasledujúcich krokov:

Krok 1: V tom istom module definujte ďalší podprogram nasledovne.

kód:

 Čiastková vzorka 2 () Koniec č 

Krok 2: Definujte dve premenné ako dátum a druhú ako celé číslo.

kód:

 Čiastková vzorka2 () Dim Dt As Date, Res As Integer End Sub 

Krok 3: V premennej Dt je hodnota bunky A1 nasledujúca.

kód:

 Čiastková vzorka2 () Dim Dt ako dátum, Res ako celé číslo Dt = rozsah ("A1"). Hodnota Koniec Sub 

Krok 4: Teraz v premennej res vypočítajme časť týždňa pre vstup pomocou funkcie DatePart.

kód:

 Čiastková vzorka2 () Dim Dt ako dátum, Res ako celé číslo Dt = Range ("A1"). Hodnota Res = DatePart ("ww", Dt) End Sub 

Krok 5: Zobrazte hodnotu uloženú v premennej pomocou funkcie Msgbox.

kód:

 Čiastková vzorka2 () Dim Dt ako dátum, Res ako celé číslo Dt = Range ("A1"). Hodnota Res = DatePart ("ww", Dt) MsgBox Res End Sub Sub 

Krok 6: Spustite vyššie uvedený kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať a získajte nasledujúci výsledok.

Aktuálny dátum je 25. júl, čo je 30. týždeň v roku 2019.

Čo je potrebné pamätať

  • Je to dátumová funkcia, ale vracia celé číslo.
  • Prvé dva argumenty sú povinné, zatiaľ čo zvyšné dva argumenty sú voliteľné.
  • VBA má svoje vlastné predvolené argumenty, ak neposkytneme posledné dva argumenty pre funkciu DatePart.
  • Táto funkcia je funkciou VBA a nie funkciou pracovného hárka.

Odporúčané články

Toto je sprievodca programom VBA DatePart. Tu diskutujeme o tom, ako používať funkciu DatePart v Exceli pomocou kódu VBA spolu s niekoľkými 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 DateAdd
  2. DNES vzorec v Exceli
  3. Funkcia dátumu VBA
  4. TERAZ Funkcia Excel
  5. Ako používať formát dátumu VBA v Exceli?
  6. Kde napísať kód vo VBA?

Kategórie: