VBA CDATE | Ako používať CDATE v programe Excel VBA? (s príkladmi)

Funkcia CDATE vo VBA

VBA CDATE je funkcia prevodu dátových typov, ktorá prevádza dátový typ, ktorý je buď textový alebo reťazcový, na dátový dátový typ. Keď sa hodnota prevedie na dátový typ dátumu, môžeme sa pohrať s dátumovými údajmi.

Syntax CDATE

Nižšie je uvedená syntax funkcie CDATE vo VBA.

Výraz: Výrazom môže byť reťazec alebo textová hodnota alebo premenná, ktorá obsahuje hodnotu, ktorá sa má previesť na dátový typ dátumu.

CDATE identifikuje formát dátumu a času v počítači, na ktorom pracujeme, a prevedie dodanú hodnotu na rovnaký dátový typ dátumu. Ak zadáte iba deň a mesiac a ignorujete rok, potom funkcia CDATE vezme systémový rok, zobrazí sa spolu s dodaným dňom a mesiacom.

V nasledujúcej časti uvidíme ďalšie a ďalšie príklady.

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

Príklady funkcie CDATE v programe Excel VBA.

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

Príklad č

Skôr ako vám ukážem príklad CDATE, najskôr sa pozrite na nižšie uvedený kód.

Kód:

 Sub CDATE_Example1 () Dim k As String k = "25-12" MsgBox k End Sub 

Vo vyššie uvedenom prípade pre premennú „k“ som priradil hodnotu „25-12“. Keď vykonám tento kód, uvidíme rovnakú hodnotu v schránke správ vo VBA.

To je však možné previesť do dnešného dňa pomocou funkcie VBA CDATE. Za týmto účelom definujte ešte jednu premennú ako Dátum.

Kód:

 Dim k1 k dátumu 

Pre túto premennú „k1“ priraďte funkciu CDATE a zadajte premennú „k“, ktorá obsahuje reťazec „25-12“. V poli pre správu sa zobrazuje premenná hodnota „k1“ namiesto „k“.

Kód:

k1 = CDate (k)

Teraz spustite kód a uvidíte výsledok v okne správy.

Výsledok je teda 25. 12. 2019.

Bližšie sa pozrite na hodnotu, ktorú sme dodali. Dodali sme „25–12“, ktoré sme nedodali rok.

Pri písaní tohto článku bol v mojom systéme aktuálny rok 2019, takže program VBA CDATE previedol do dnešného dňa hodnotu reťazca „25-12“ a pridal k nej systémový rok 2019. Konečné výsledky teda čítajú takto 25. 12. 2019, teda 25. decembra 2019.

Príklad č

Teraz sa pozrite na nižšie uvedený kód.

Kód:

 Sub CDATE_Example2 () Dim k As Variant Dim kResult As Date k = 43889 kResult = CDate (k) MsgBox kResult End Sub 

Vo vyššie uvedenom kóde pre premennú „k“ som použil číslo „43889“. Všetci vieme, že ide o sériové číslo, ale pre inú premennú „KResult“ sme túto hodnotu previedli doposiaľ pomocou funkcie „CDATE“.

Rovnaký výsledok premennej „kResult“, ktorý sa zobrazuje v okne so správou.

Spustite kód a pozrite sa na kúzlo funkcie „CDATE“.

Výsledok sa zobrazuje ako „28.2.2020“. Ak nie ste oboznámení s dátumami v programe Excel, musíte sa pýtať, ako sa to stalo.

Napríklad zadajte rovnaké číslo (43889) do jednej z buniek tabuľky.

Na tento účel použite formát „DD-MM-RRRR“.

Teraz kliknite na Ok a pozrite si výsledok.

Výsledok sa teraz zmenil z výrobného čísla na dnešné dni. Pretože sme na začiatok poradového čísla použili formát dátumu, zobrazil sa príslušný dátum.

To znamená, že sériové číslo 43889 sa rovná dátumu 28-02-2020.

Takže v našom kóde VBA funkcia CDATE vykonala to isté prevedením hodnoty reťazca na dátový dátový typ.

Príklad č

V tomto príklade sa pozrite na nasledujúci kód.

 Sub CDATE_Example3() Dim Value1 Dim Value2 Dim Value3 Value1 = "December 24, 2019" Value2 = #6/25/2018# Value3 = "18:30:48 PM" MsgBox CDate(Value1) MsgBox CDate(Value2) MsgBox CDate(Value3) End Sub 

When we run this code we will get the below results.

So, all the values are converted to the date data type with the CDATE function.

Things to Remember

  • CDATE converts only numbers and string values to the date data type.
  • This is useful when we use it with other functions.
  • If the wrong data type value is supplied then we will get type mismatch error.
  • Since date and time are part of serial number it converts time as well as proper time.