VBA CDate - Ako používať funkciu CDate v programe Excel pomocou kódu VBA?

Obsah:

Anonim

Excel VBA CDate Funkcia

Počuli ste už o funkcii alebo príkaze, pomocou ktorého môžeme niečo previesť na dátum a čas? Áno, spolu s funkciou dátumu máme vo VBA funkciu CDate, ktorá to robí. CDate je funkciou Excelu, ale dá sa to urobiť aj vo VBA. CDate prevádza čokoľvek okrem štandardného formátu dátumu. To sa dá použiť na prevod času spolu s dátumom.

Syntax CDate je najjednoduchšia syntax, akú sme kedy videli. CDate považuje za vstup iba výraz ako Dátum a čas v akomkoľvek formáte. Nižšie je uvedená jeho syntax.

Potrebujeme vložiť akékoľvek číslo, dátum alebo čas v akomkoľvek formáte, ktorý máme, a CDate ich automaticky prevedie na štandardný formát dátumu a času.

Ako používať funkciu Excel VBA CDate?

Naučíme sa, ako používať funkciu VBA CDate s niekoľkými príkladmi v Exceli.

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

VBA CDate - Príklad č. 1

Najprv urobíme jednoduchý príklad. V tomto príklade sa pokúsime previesť jeden jednoduchý typ dátumu na štandardný formát, ktorý je v predvolenom nastavení v exceli zabudovaný.

Ak chcete použiť funkciu CDate vo VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Otvorte modul, ktorý je k dispozícii na karte ponuky Vložiť, ako je to znázornené nižšie.

Krok 2: Teraz napíšte podprogram Vate CDate do ľubovoľného názvu, ako je uvedené nižšie. Odporúča sa však v mene vykonanej práce zapísať názov podprogramu.

kód:

 Sub VBA_CDate () Koniec Sub 

Krok 3: Teraz deklarujte premennú, povedzme, že je Input1 ako String . Vzhľadom na typ údajov ako reťazec, pretože vstup budeme citovať v kombinácii čísel a abeced.

kód:

 Sub VBA_CDate () Dim Input1 As String End Sub 

Krok 4: Teraz deklarujeme ďalšiu premennú, podľa ktorej uvidíme výstup. A táto premenná sa použije na zobrazenie dátumov.

kód:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date End Sub 

Krok 5: Teraz vyberte ľubovoľný dátum, ktorý je kombináciou čísel a abeced a citujte ho v obrátených čiarkach, ako je to znázornené nižšie.

kód:

 Sub VBA_CDate () Dim Input1 ako String Dim FormatDate As Date Input1 = "September 1, 2019" End Sub 

Krok 6: Na konverziu dátumu vstupu do štandardného formátu použijeme funkciu CDate, ako je uvedené nižšie, s premennou FormatDate, ktorá bola uvedená vyššie. A použite hodnotu uloženú v premennej Input1.

kód:

 Sub VBA_CDate () Dim Input1 ako String Dim FormatDate As Date Input1 = "September 1, 2019" FormatDate = CDate (Input1) End Sub 

Krok 7: A na zobrazenie výstupu použijeme Msgbox na priradenie funkcii FormatDate dátumu.

kód:

 Sub VBA_CDate () Dim Input1 ako String Dim FormatDate As Date Input1 = "September 1, 2019" FormatDate = CDate (Input1) MsgBox FormatDate End Sub 

Krok 8: Teraz spustite kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať. Dostaneme dátum, ktorý sme si vybrali ako 1. september 2019, ktorý je teraz prevedený na štandardný formát dátumu ako 1. 9.1919, ako je uvedené nižšie.

Môžeme vyskúšať rôzne viacnásobné kombinácie dátumov, ktoré skutočne existujú, a zistiť, aký štandardný výstup dostaneme.

VBA CDate - Príklad č. 2

V tomto príklade uvidíme rôzne typy dátumu a času, ktoré existujú a aký výstup by sme dostali pri používaní VBA CDate. Postupujte podľa nasledujúcich krokov:

Krok 1: Napíšte podprogram Vate CDate, ako je to znázornené nižšie.

kód:

 Sub VBA_CDate2 () End Sub 

Krok 2: Teraz deklarujeme 3-4 rôzne premenné typu údajov Date. Vyhlásme prvú premennú ako Date1 a poskytneme jej typ údajov ako Date, ako je uvedené nižšie.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date End Sub 

Krok 3: Teraz priraďte akékoľvek číslo, ktoré chceme previesť vo formáte Dátum. Vybrali sme náhodné číslo ako 12345.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" End Sub 

Krok 4: Podobným spôsobom definujte inú premennú Date2 ako typ dátumu Date, ako je uvedené nižšie.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date End Sub 

Krok 5: Teraz znova v premennej Date2 zvážte vloženie dátumu v akomkoľvek formáte. Tu uvádzame dátum 12/45/45.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" End Sub 

Krok 6: Ďalej budeme znova deklarovať inú premennú Date3 ako Date.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date End Sub 

Krok 7: Tu priradíme hodnotu kedykoľvek, ako je uvedené nižšie, o 12:10 hod. Vo formáte 24 hodín.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" End Sub 

Krok 8: Teraz napokon deklarujeme ďalšiu premennú Date4 ako Date.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date End Sub 

Krok 9: A tu dáme nejakú desatinnú hodnotu ako 0, 123, alebo si môžete zvoliť ľubovoľnú hodnotu podľa potreby.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date Date4 = "0.123" End Sub 

Teraz existujú 2 spôsoby, ako vidieť výstup hodnôt uložených v rôznych premenných deklarovaných vyššie. MsgBox nám umožní vidieť všetky hodnoty naraz, ale pomocou Debug.print nám umožní zobraziť všetky výstupy premenných naraz.

Krok 10: Takže tu je lepšie, ak vyberieme Debug.Print, ako je uvedené nižšie. A v tom istom riadku priraďte všetky premenné od 1. do 4. dňa.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date Date4 = "0.123" Debug. Dátum tlače1, Dátum2, Dátum3, Dátum4 Koniec Sub 

Krok 11: A na zobrazenie výstupu použijeme okamžité okno, ako je uvedené nižšie. Ak to chcete získať, prejdite na kartu ponuky Zobraziť a vyberte Okamžité okno, ako je to znázornené nižšie.

Krok 12: Teraz spustite kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať. Uvidíme, dátumový typ údajov nám poskytol výstup, ale nie je v štandardnom dátovom formáte.

Krok 13: Na získanie štandardných údajov použijeme aj CDate. Takže priradíme CDate ku každému dátumu a času, ktoré sme použili pre rôzne premenné, ako je uvedené nižšie.

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = CDate ("12345") Dim Date2 As Date Date2 = CDate ("12/3/45") Dim Date3 As Date Date3 = CDate ("00:10:00") Dim Date4 Ako dátum Date4 = CDate ("0, 123") Debug.Print Date1, Date2, Date3, Date4 End Sub 

Krok 14: Teraz spustite kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať.

Uvidíme, že výstupy dátumu aj CDate sú rovnaké, ale medzi nimi existuje základný spoločný rozdiel. To znamená, že CDate dokáže prevádzať akýkoľvek typ čísel do štandardného formátu dátumu.

Krok 15: Vyskúšajte akýkoľvek text alebo abecedu s CDate a uvidíme, čo získame. Preto sme do premennej Date4 zadali nejaký náhodný text ako abc .

kód:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = CDate ("12345") Dim Date2 As Date Date2 = CDate ("12/3/45") Dim Date3 As Date Date3 = CDate ("00:10:00") Dim Date4 As Date Date4 = CDate ("abc") Debug.Print Date1, Date2, Date3, Date4 End Sub 

Krok 16: Teraz znova spustite kód. Dostaneme okno so správou s chybovým hlásením typu Neshoda typu . Je to preto, lebo CDate nedokáže čítať a prevádzať text do štandardného formátu dátumu a času.

Výhody a nevýhody funkcie Excel VBA CDate

  • To môže podľa potreby prevádzať ľubovoľný dátum alebo čas na štandardný formát.
  • VBA CDate interpretuje akékoľvek číslo ako dátumovú hodnotu a neskôr ho prevádza do štandardného formátu.
  • Nedokáže interpretovať a prevádzať text do formátu dátumu.

Čo je potrebné pamätať

  • CDate môže považovať čísla iba za vstup, ale toto číslo môže byť v akomkoľvek formáte.
  • Textovú hodnotu nie je možné previesť.
  • Ak vložíme čas alebo dátum, ktorý je už v štandardnom formáte, vráti opäť rovnakú hodnotu ako výstup.
  • Funkcia dátumu a CDate pracuje rovnakým spôsobom. Zatiaľ čo pomocou CDate môžeme prevádzať čas aj dátum.

Odporúčané články

Toto je sprievodca funkciou VBA CDate. Tu diskutujeme o tom, ako používať funkciu CDate v programe Excel pomocou kódu VBA, spolu s praktickými príkladmi a šablónou programu Excel na stiahnutie. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Formát dátumu VBA
  2. Funkcia Excel DATEDIF
  3. VBA DateSerial
  4. Funkcia Excel DATEDIF