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

Čo je funkcia VBA DateValue?

Funkcia DateValue je zabudovaná funkcia v programe Excel VBA v kategórii funkcia Dátum / čas. Funguje ako funkcia VBA, tak aj funkcia hárka vo VBA. Táto funkcia vracia sériové číslo alebo hodnotu dátumu poskytnutú vo formáte reprezentácie reťazca a ignoruje informácie o čase poskytnuté reťazcom dátum. V programe Excel sa používa dvoma rôznymi spôsobmi. Táto funkcia sa používa ako vzorec hárka zadávajúci do bunky hárka. Používa sa ako kód makra v aplikácii VBA, ktorá ho zadáva cez editor jazyka Visual Basic spojený s programom Microsoft Excel.

V tomto článku sa dozvieme príklady VBA DATEVALUE a ako ju používať s jasným vysvetlením.

Vysvetlenie funkcie VBA Datevalue

Vo VBA používa DATEVALUE nasledujúcu syntax.

Táto funkcia používa iba jeden argument alebo parameter

  • Dátum : Je to dátum vyjadrený vo formáte reťazca
  • Vráti: Táto funkcia vráti hodnotu dátumu, keď sa použije ako funkcia VBA. Vráti hodnotu dátumu, keď sa použije ako funkcia pracovného hárka

Funkcia VBA DateValue dokáže interpretovať údaje reprezentované v textovom formáte, ktorý je uvedený v platnom formáte Excel. Ak reťazec obsahoval textovú reprezentáciu dňa v týždni, nie je schopný vrátiť hodnotu dátumu.

Výhodou funkcie VBA DateValue je extrahovanie hodnoty dátumu z reťazca a prevod dátumu s časom na jediný dátum. Môžeme jednoducho povedať, že keď je dátum uvedený s časom, táto funkcia slúži iba na hodnotu dátumu a vyhýba sa hodnote času.

Ako používať Excel VBA DATEVALUE?

Ak chcete používať funkciu DateValue v programe Excel, musíte najskôr otvoriť editor VBA.

Príkazové tlačidlo je potrebné umiestniť do pracovného hárka programu Excel, aby ste doň mohli pridať riadky programu VBA. Na implementáciu riadkov programu musí užívateľ kliknúť na príkazové tlačidlo v hárku programu Excel. Aby ste mali platný výstup z programu, platný vstup sa zadáva prostredníctvom argumentu. Nasledujúci kód napríklad pomáha pri vytváraní makra na spustenie funkcie DateValue na extrahovanie hodnoty dátumu z textu vo formáte VBA.

Program VBA: 

 Sub Datebutton () Dim myDate As Date myDate = DateValue (“15. August 1991”) MsgBox Date (myDate) End Sub 

Výsledkom tohto kódu je dátum ako 15 od daného vstupu.

Príklady DATEVALUE programu Excel VBA

Ďalej uvádzame príklady hodnoty DateValue v programe Excel VBA.

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

Príklad č. 1 - Získajte deň, mesiac a rok z dátumu

Na vytvorenie a spustenie programu vo VBA je potrebných niekoľko krokov. Patria medzi ne

Krok 1: Prejdite na kartu Vývojár, umiestnite kurzor na bunku v hárku programu Excel a kliknite na možnosť „Vložiť“ a vyberte „Príkazové tlačidlo“ pod ovládacím prvkom ActiveX, ako je to znázornené na obrázku.

Potiahnite tlačidlo, kam chcete, a z okna vlastností zadajte titulok ako Datebutton.

Krok 2: Dvojité kliknutie na tlačidlo presmeruje na projekt VBA a napíše kód medzi príkazové tlačidlo Súkromný sub a koncový sub.

Tento kód by mal byť vyvinutý nižšie, aby získal dátum, mesiac a rok.

Kód:

 Private Sub Datebutton1_Click () Dim Exampledate As Date Exampledate = DateValue ("April 19,2019") MsgBox Date MsgBox Year (Exampledate) MsgBox month (Exampledate) End Sub 

V tomto kóde je názov Datebutton1_Click () a premenná exampledate s dátovým typom Date a Msgbox na zobrazenie výstupu.

Krok 3: Pri vývoji kódu dôjde k chybám v nesúlade typov VBA a je potrebné sa o ne postarať.

Krok 4: V tomto kroku spustite program kliknutím na možnosť spustenia.

Alebo môžeme program skontrolovať alebo odladiť krok za krokom výberom možnosti Krok do v ponuke Debug. Ak je náš kód bez akýchkoľvek chýb, zobrazí sa výstup.

Krok 5 : Po spustení programu sa najskôr zobrazí okno so správou s dátumom uvedeným v textovom vstupe. Ďalej kliknite na OK, aby ste znova videli hodnotu roka, kliknite na OK v okne správy a zobrazte hodnotu mesiaca.

Poznámka: Tieto kroky je potrebné dodržiavať, aby ste dosiahli presné výsledky.

Príklad č. 2 - Použitie DatePart na získanie rôznych častí dátumu

Krok 1: Prejdite na kartu Vývojár programu Excel, umiestnite kurzor na bunku v hárku programu Excel a kliknite na možnosť „Vložiť“ a vyberte „Príkazové tlačidlo“ pod ovládacím prvkom ActiveX, ako je to znázornené na obrázku.

Krok 2: Presuňte tlačidlo a v rámci vlastností zadajte titulok ako DatePart.

Dvakrát kliknite na toto tlačidlo, nasmeruje sa na hárok editora Visual Basic a zobrazí sa nasledovne.

Krok 3: Vyvíjajte kód pomocou DatePart s DateValue, ako je to znázornené na obrázku.

Kód:

 Súkromný subpartpart1_Click () Dim partdate As Variant partdate = DateValue ("15/8/1991") MsgBox partdate MsgBox Datepart ("rrrr", partdate) MsgBox Datepart ("dd", partdate) MsgBox Datepart ("mm", partdate) MsgBox Datepart ("q", partdate) Koncový pod 

V tomto programe je DatePart1 názov makra a partDate je názov argumentu s dátovým typom „variant“. Pre zobrazenie roku, dátumu, mesiaca a štvrťroku sa použije formát „rrrr“, „d“, „m“ a „q“. Pokiaľ urobíme chybu vo formáte, zobrazí sa nasledujúca chyba.

Krok 4: Po úspešnom odladení programu spustite program kliknutím na tlačidlo spustenia pomocou klávesovej skratky F5 programu Excel.

Kód najskôr zobrazí celý dátum, potom po kliknutí na každé OK v schránke msgbox zobrazí hodnotu roku po tejto hodnote dátumu, hodnote mesiaca, hodnote kvartálu.

Dôležité informácie o DÁTOVEJ HODNOTE VBA

Pri používaní funkcie DateValue v programe Excel VBA si musíte pamätať nasledujúce veci

  • Chyba spustenia 13 so správou Nezhoda typu sa zobrazí, keď sa dátum poskytnutý funkcii DateValue nedokáže previesť na platný dátum. Potrebujeme, aby mal dátum správny formát textu
  • Keď sa pokúsime získať jediný dátum z argumentu reťazca s kódom „msgbox date (názov argumentu)“, zobrazí sa chyba nesúladu typu.
  • Vidíme výstup funkcie DateValue bez otvorenia editora VBA. Vykoná sa to kliknutím na príkazové tlačidlo a výberom makra vytvoreného pre príslušný program
  • When DatePart is used to get the values, the appropriate format should be followed. Otherwise, it leads ‘run time error 5’ with message invalid procedure call or argument.