Excel VBA CDate funkcija

Ste že slišali za funkcijo ali ukaz, s katerim lahko karkoli spremenimo v datum in čas? Da, poleg funkcije Date imamo v VBA funkcijo CDate, ki to počne. CDate je funkcija excel, vendar je to mogoče storiti tudi v VBA. CDate pretvori vse, razen v standardni format datuma. To se lahko uporabi tudi za pretvorbo časa in datum.

Sintaksa CDate je najlažja skladnja, kar smo jih kdaj videli. CDate kot vnos šteje samo izraz, kot sta datum in čas v kateri koli obliki. Spodaj je sintaksa.

Hraniti moramo samo katero koli številko, datum ali čas v kateri koli obliki, CDate pa bo samodejno pretvoril to v standardni format datuma in časa.

Kako uporabljati Excel VBA CDate funkcijo?

Spoznali bomo uporabo funkcije VBA CDate z nekaj primeri v Excelu.

Predlogo VBA CDate Excel lahko prenesete tukaj - VBA Predloga CDate Excel

VBA CDate - primer # 1

Najprej bomo vzeli preprost primer. V tem primeru bomo poskušali eno preprosto vrsto datuma pretvoriti v standardno obliko, ki je vgrajena v excel privzeto.

Za uporabo funkcije CDate v VBA sledite spodnjim korakom.

1. korak: Odprite modul, ki je na voljo na jezičku Vstavljanje, kot je prikazano spodaj.

2. korak: Zdaj napišite podprocesuro VBA CDate v poljubno ime, kot je prikazano spodaj. Toda priporočljivo je, da se ime podprocedura v glavnem zapiše v imenu opravljenega dela.

Koda:

 Sub VBA_CDate () Končni pod 

Korak 3: Zdaj prijavite spremenljivko, recimo, da je Input1 kot String . Glede na vrsto podatkov kot String, ker bomo navajali vhod v kombinaciji števil in abecede.

Koda:

 Sub VBA_CDate () Zatemnitev vnosa1 Kot niz vrstic Sub 

4. korak: Zdaj bomo razglasili še eno spremenljivko, s katero bomo videli izhod. In ta spremenljivka bo uporabljena za prikaz datumov.

Koda:

 Sub VBA_CDate () Dim Vhod1 Kot niz Dim FormatDate Kot datum konca Sub 

5. korak: Zdaj izberite poljuben datum, ki je v kombinaciji številk in abecede, in ga navedite v obrnjenih vejic, kot je prikazano spodaj.

Koda:

 Pod VBA_CDate () Dim vnos1 kot niz Dim FormatDate kot datum vnosa1 = "1. september 2019" konec pod 

6. korak: Če želite pretvoriti datum vnosa v standardni format, bomo uporabili funkcijo CDate, kot je prikazano spodaj, s spremenljivko FormatDate, ki je bila deklarirana zgoraj. In uporabite vrednost, shranjeno v spremenljivki Input1.

Koda:

 Pod VBA_CDate () Dim vnos1 kot niz Dim FormatDate kot datum vnosa1 = "1. september 2019" FormatDate = CDate (vnos1) konec pod 

7. korak: Za ogled izhoda bomo uporabili Msgbox, da ga dodelimo funkciji FormatDate Date.

Koda:

 Pod VBA_CDate () Dim Vnos1 Kot niz Dim FormatDate kot datum vnosa1 = "1. september 2019" FormatDate = CDate (Vhod1) MsgBox FormatDate Konec pod 

8. korak: Zdaj zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Play. Datum, ki smo ga izbrali za 1. september 2019, bomo spremenili v standardni datum datuma 1. 1. 2019, kot je prikazano spodaj.

Lahko poskusimo z različnimi več kombinacijami datumov, ki resnično obstajajo, in si ogledamo, kakšen standardni izhod dobimo.

VBA CDate - primer # 2

V tem primeru bomo videli različne vrste datumov in časa, ki obstajajo in kakšen rezultat bi dobili pri uporabi VBA CDate. Za to sledite spodnjim korakom:

1. korak: Napišite podprocesuro VBA CDate, kot je prikazano spodaj.

Koda:

 Sub VBA_CDate2 () Konec Sub 

2. korak: Zdaj bomo razglasili 3-4 različne spremenljivke Data Type Date. Označimo prvo spremenljivko kot Date1 in ji damo vrsto podatkov kot Datum, kot je prikazano spodaj.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Konec Pod 

3. korak: Zdaj dodelite poljubno številko, ki jo želimo pretvoriti v datumsko obliko. Izbrali smo naključno število kot 12345.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Konec Pod 

4. korak: na podoben način določite še eno spremenljivko Date2 kot datum datum Datum, kot je prikazano spodaj.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Konec Pod 

5. korak: Zdaj v spremenljivki Date2 razmislite o datumu v poljubni obliki. Tu smo ohranili 12/3/45 kot naš vnos datuma.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Datum2 = "12/3/45" Konec Pod 

6. korak: Nadalje bomo znova razglasili še eno spremenljivko Date3 kot datum.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Datum2 = "12/3/45" Dim Datum3 Kot Datum Konec Pod 

7. korak: Tukaj bomo dodelili vrednost kadar koli, kot je prikazano spodaj, ob 12:10 v 24-urnem formatu.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Datum2 = "12/3/45" Dim Datum3 Kot Datum Datum3 = "00:10:00" Konec Pod 

8. korak: Nazadnje bomo razglasili še eno spremenljivko Date4 kot Datum.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Datum2 = "12/3/45" Dim Datum3 Kot Datum Datum3 = "00:10:00" Dim Datum4 Kot Datum Konec Pod 

Korak 9: In tukaj bomo dali nekaj decimalne vrednosti, kot je 0, 123, ali lahko izberete katero koli vrednost, kot je potrebno.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Datum2 = "12/3/45" Dim Datum3 Kot Datum Datum3 = "00:10:00" Dim Datum4 Kot Datum Datum4 = "0.123" Konec Pod 

Zdaj sta na voljo dva načina za prikaz izhodnih vrednosti, shranjenih v različnih zgoraj navedenih spremenljivkah. MsgBox nam bo omogočil ogled vseh vrednosti hkrati, vendar nam bo z uporabo Debug.print naenkrat uspelo videti vse spremenljivke.

10. korak: Torej, tukaj je bolje, če izberemo Debug.Print, kot je prikazano spodaj. In v isti vrstici dodelite vse spremenljivke, ki se začnejo od datuma 1 do datuma 4.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = "12345" Dim Datum2 Kot Datum Datum2 = "12/3/45" Dim Datum3 Kot Datum Datum3 = "00:10:00" Dim Datum4 Kot Datum Datum4 = "0.123" Odpravljanje napak Datum tiskanja1, Datum2, Datum3, Datum4 Konec Pod 

11. korak: Za ogled izhoda bomo uporabili takojšnje okno, kot je prikazano spodaj. Če želite dostopati do tega, pojdite na zavihek menija Pogled in izberite Takojšnje okno, kot je prikazano spodaj.

12. korak: Zdaj zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Play. Videli bomo, datumski tip podatkov nam je dal izhod, vendar ni v standardni obliki podatkov.

Korak 13: Če želite izvleči standardne podatke, bomo tukaj uporabili tudi CDate. Tako bomo dodelili CDate za vsak datum in čas, ki smo ga uporabili za različne spremenljivke, kot je prikazano spodaj.

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = CDate ("12345") Dim Datum2 Kot Datum Datum2 = CDate ("12/3/45") Dim Datum3 Kot Datum Datum3 = CDate ("00:10:00") Dim Datum4 Kot Datum Datum4 = CDate ("0.123") Debug.Piskaj datum1, Datum2, Datum3, Datum4 Končni pod 

14. korak: Zdaj zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Play.

Videli bomo, da sta izhodka Date in CDate enaka, vendar obstajata osnovna skupna razlika med obema. In to je, da CDate lahko pretvori poljubno vrsto številk v standardni format datuma.

15. korak: Poskusimo katero koli besedilo ali abecedo s CDate in poglejmo, kaj dobimo. Torej smo v spremenljivko Date4 vnesli nekaj naključnega besedila kot abc .

Koda:

 Pod VBA_CDate2 () Dim Datum1 Kot Datum Datum1 = CDate ("12345") Dim Datum2 Kot Datum Datum2 = CDate ("12/3/45") Dim Datum3 Kot Datum Datum3 = CDate ("00:10:00") Dim Datum4 Kot Datum Datum4 = CDate ("abc") Debug.Print Date1, Date2, Date3, Date4 End Sub 

16. korak: Zdaj zaženite kodo še enkrat. Dobili bomo polje s sporočilom o napaki kot Type Mismatch . To je zato, ker CDate ne more brati in pretvoriti besedila v standardni format datuma in časa.

Prednosti in slabosti funkcije Excel VBA CDate

  • Tako lahko kateri koli datum ali čas pretvorite v standardno obliko, kot je potrebno.
  • VBA CDate katero koli številko razlaga kot vrednost datuma in jo kasneje pretvori v standardno obliko.
  • Ne more razlagati in pretvoriti besedila v obliko datuma.

Stvari, ki jih je treba zapomniti

  • CDate lahko šteje samo številke kot vhod, vendar je ta številka lahko v kateri koli obliki.
  • Besedilne vrednosti ni mogoče pretvoriti.
  • Če hranimo čas ali datum, ki je že v standardni obliki, bo spet vrnil isto vrednost kot izhod.
  • Datum in funkcija CDate delujeta na enak način. Medtem ko lahko s pomočjo CDate pretvorimo čas in datum.

Priporočeni članki

To je vodnik za funkcijo VBA CDate. Tukaj smo razpravljali o uporabi funkcije CDate v Excelu z uporabo kode VBA skupaj s praktičnimi primeri in naložljivo predlogo excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Oblika datuma VBA
  2. Excel DATEDIF funkcija
  3. VBA DateSerial
  4. Excel DATEDIF funkcija

Kategorija: