Excel VBA CDate funkcija
Jeste li čuli za funkciju ili naredbu kojom možemo bilo što pretvoriti u datum i vrijeme? Da, uz funkciju Date, u VBA imamo i funkciju CDate koja to čini. CDate je funkcija excela, ali to se može učiniti i u VBA. CDate pretvara bilo što osim u standardni format datuma. To se može koristiti za pretvaranje vremena, zajedno s datumom.
Sintaksa CDate je najlakša sintaksa koju smo ikada vidjeli. CDate smatra samo izraz kao što su Datum i vrijeme u bilo kojem formatu kao ulaz. Ispod je sintaksa.
Trebamo unijeti bilo koji broj, datum ili vrijeme u bilo kojem obliku koji imamo i CDate će to automatski pretvoriti u standardni format datuma i vremena.
Kako se koristi Excel VBA CDate funkcija?
Naučit ćemo kako koristiti VBA CDate funkciju s nekoliko primjera u Excelu.
Ovdje možete preuzeti ovaj VBA CDate Excel predložak - VBA CDate Excel predložakVBA CDate - Primjer # 1
Prvo ćemo uzeti jednostavan primjer. U ovom ćemo primjeru pokušati pretvoriti jednu jednostavnu vrstu datuma u standardni format koji je u stvarnosti ugrađen u excel.
Slijedite dolje navedene korake za korištenje funkcije CDate u VBA.
Korak 1: Otvorite modul koji je dostupan na kartici izbornika Umetanje, kao što je prikazano u nastavku.
Korak 2: Sada napišite podprocedura VBA CDate u bilo koje ime kao što je prikazano u nastavku. Ali preporučuje se da se ime podprocedura uglavnom piše u ime obavljenog posla.
Kodirati:
Sub VBA_CDate () Kraj Sub
Korak 3: Sada deklarirajte varijablu recimo da je Input1 kao String . Smatrajući vrstu podataka Stringom jer citiramo unos u kombinaciji brojeva i alfabeta.
Kodirati:
Sub VBA_CDate () Dim unosa1 kao string string Sub
Korak 4: Sada ćemo proglasiti drugu varijablu prema kojoj ćemo vidjeti izlaz. I ova će se varijabla koristiti za pregled datuma.
Kodirati:
Sub VBA_CDate () Dim ulaz 1 kao niz Dim FormatDate kao datum završetka Sub
Korak 5: Sada odaberite bilo koji datum koji je u kombinaciji brojeva i abecede i citirajte ih u obrnutim zarezima kao što je prikazano u nastavku.
Kodirati:
Sub VBA_CDate () Dim unosa1 kao niz Dim FormatDate kao datum unosa1 = "1. rujna 2019." Kraj
Korak 6: Za pretvaranje datuma unosa u standardni format koristit ćemo funkciju CDate kao što je prikazano u nastavku s varijablom FormatDate koja je deklarirana gore. I koristite vrijednost pohranjenu u varijabli Input1.
Kodirati:
Sub VBA_CDate () Dim unosa1 kao niz Dim FormatDate kao datum unosa1 = "1. rujna 2019." FormatDate = CDate (unos1) Kraj pot
Korak 7: A za pregled rezultata koristit ćemo ga Msgbox da bismo ga dodijelili funkciji FormatDate Date.
Kodirati:
Sub VBA_CDate () Dim Input1 Kao string Dim FormatDate Kao datum unosa1 = "1. rujna 2019" FormatDate = CDate (Ulaz1) MsgBox FormatDate Kraj Pot
Korak 8: Sada pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Glazba. Dobit ćemo datum koji smo odabrali 1. rujna 2019. godine, a sada je pretvoren u standardni format datuma 9.1.2019. Kao što je prikazano u nastavku.
Možemo isprobati različite kombinacije datuma koji stvarno postoje i vidjeti kakav standardni izlaz dobivamo.
VBA CDate - primjer br. 2
U ovom ćemo primjeru vidjeti različite vrste datuma i vremena koje postoje i kakav izlaz ćemo dobiti tijekom upotrebe VBA CDate. Za to slijedite dolje navedene korake:
Korak 1: Napišite podprocedura VBA CDate kao što je prikazano u nastavku.
Kodirati:
Sub VBA_CDate2 () Kraj Sub
Korak 2: Sada ćemo proglasiti 3-4 različite varijable Data Type Date. Deklariramo prvu varijablu kao Date1 i damo joj tip podataka kao Datum kao što je prikazano u nastavku.
Kodirati:
Sub VBA_CDate2 () Dim Datum1 Kao Datum Kraj Sub
Korak 3: Sada dodijelite bilo koji broj koji ga želimo pretvoriti u format datuma. Odabrali smo slučajni broj kao 12345.
Kodirati:
Sub VBA_CDate2 () Dim Datum1 Kao Datum Datum1 = "12345" Kraj Sub
Korak 4: Na sličan način definirajte drugu varijablu Date2 kao vrstu datuma Datum kao što je prikazano u nastavku.
Kodirati:
Sub VBA_CDate2 () Dim Datum1 Kao Datum Datum1 = "12345" Dim Datum2 Kao Datum Kraj Sub
Korak 5: Sada opet u varijabli Date2, razmislite o dodavanju datuma u bilo koji format. Ovdje smo zadržali 12/3/45 kao naš ulaz.
Kodirati:
Sub VBA_CDate2 () Dim Date1 Kao Datum Date1 = "12345" Dim Date2 Kao Datum Date2 = "12/3/45" Kraj Sub
Korak 6: Nadalje, ponovno ćemo proglasiti drugu varijablu Date3 kao Datum.
Kodirati:
Pod VBA_CDate2 () Dim Datum1 Kao Datum Datum1 = "12345" Dim Datum2 Kao Datum Datum2 = "12/3/45" Dim Datum3 Kao Datum Kraj Sub
Korak 7: Ovdje ćemo dodijeliti vrijednost za bilo koje vrijeme kao što je prikazano u nastavku kao 12:10 sati u 24 sata formatu.
Kodirati:
Pod VBA_CDate2 () Dim Datum1 Kao Datum Datum1 = "12345" Dim Datum2 Kao Datum Datum2 = "12/3/45" Dim Datum3 Kao Datum Datum3 = "00:10:00" Kraj Sub
Korak 8: Sada ćemo napokon još jednu varijablu Date4 proglasiti datumom.
Kodirati:
Pod VBA_CDate2 () Dim Datum1 Kao Datum Datum1 = "12345" Dim Datum2 Kao Datum Datum2 = "12/3/45" Dim Datum3 Kao Datum Datum3 = "00:10:00" Dim Datum4 Kao Datum Kraj Sub
Korak 9: I ovdje ćemo dati neku decimalnu vrijednost poput 0, 123 ili možete odabrati bilo koju vrijednost prema potrebi.
Kodirati:
Pod VBA_CDate2 () Dim Datum1 Kao Datum Datum1 = "12345" Dim Datum2 Kao Datum Datum2 = "12/3/45" Dim Datum3 Kao Datum Datum3 = "00:10:00" Dim Datum4 Kao Datum Datum4 = "0.123" Kraj Sub
Sada postoje dva načina da se vidi izlaz vrijednosti pohranjenih u različitim gore navedenim varijablama. MsgBox će nam omogućiti da vidimo sve vrijednosti istovremeno, ali pomoću Debug.print će nam omogućiti da vidimo sve varijable u jednom potezu.
Korak 10: Dakle, ovdje je bolje ako odaberemo Debug.Print kao što je prikazano u nastavku. I u istom retku dodijelite sve varijable počevši od datuma 1 do datuma 4.
Kodirati:
Pod 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. Datum ispisa1, Datum2, Datum3, Datum4 Kraj Pod
Korak 11: A da vidimo izlaz, upotrijebit ćemo neposredni prozor kao što je prikazano u nastavku. Da biste pristupili tome, idite na karticu izbornika Prikaži i odaberite Odmah prozor kao što je prikazano u nastavku.
12. korak: Sada pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Play. Vidjet ćemo, datumski tip podataka dao nam je izlaz, ali nije u standardnom formatu podataka.
Korak 13: Da bismo izvadili standardne podatke, ovdje ćemo koristiti i CDate. Dakle, dodijelit ćemo CDate za svaki datum i vrijeme koje smo koristili za različite varijable kao što je prikazano u nastavku.
Kodirati:
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 ("0.123") Debug.Print Date1, Date2, Date3, Date4 Kraj Sub
14. korak: Sada pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Reproduciraj.
Vidjet ćemo kako su ishodi i Date i CDate isti, ali postoji osnovna zajednička razlika između oba. A to je, CDate može pretvoriti bilo koju vrstu brojeva u standardni format datuma.
15. korak: Pokušajmo bilo koji tekst ili abecedu s CDateom i vidjeti što ćemo dobiti. Dakle, unijeli smo neki slučajni tekst kao abc u varijablu Date4 .
Kodirati:
Sub VBA_CDate2 () Dim Date1 Kao Datum Date1 = CDate ("12345") Dim Date2 As Datum Date2 = CDate ("12/3/45") Dim Date3 As Date Date3 = CDate ("00:10:00") Dim Date4 Kao datum Date4 = CDate ("abc") Otklanjanje greškePrint Datum1, Datum2, Datum3, Datum4 Kraj Pod
Korak 16: Sada ponovo pokrenite kod. Dobit ćemo okvir s porukom o pogrešci kao Tip Mismatch . To je zato što CDate ne može čitati i pretvarati tekst u standardni format datuma i vremena.
Prednosti i nedostaci funkcije Excel VBA CDate
- Ovo može pretvoriti bilo koji datum ili vrijeme u standardni format prema potrebi.
- VBA CDate bilo koji broj tumači kao vrijednost datuma i kasnije ga pretvara u standardni format.
- Ne može interpretirati i pretvoriti tekst u oblik datuma.
Stvari koje treba zapamtiti
- CDate može brojeve smatrati samo ulazom, ali taj broj može biti u bilo kojem formatu.
- Tekst vrijednost se ne može pretvoriti.
- Ako unesemo vrijeme ili datum koji je već u standardnom formatu, tada će opet vratiti istu vrijednost kao izlaz.
- Date i CDate funkcioniraju na isti način. Dok CDate-om možemo pretvoriti i vrijeme i datum.
Preporučeni članci
Ovo je vodič za VBA CDate funkciju. Ovdje smo raspravljali o načinu korištenja CDate funkcije u Excelu pomoću VBA koda zajedno s praktičnim primjerima i download-ovim Excel predložakom. Možete i pregledati naše druge predložene članke -
- Format VBA datuma
- Excel DATEDIF funkcija
- VBA DateSerial
- Excel DATEDIF funkcija