Excel VBA CDate-funktion

Har du hørt om den funktion eller kommando, som vi kan konvertere noget til dato og tid? Ja, sammen med Date-funktionen har vi CDate-funktion i VBA, som gør det. CDate er excel-funktionen, men dette kan også gøres i VBA. CDate konverterer alt andet end til standard datoformat. Dette kan bruges til både konvertering af tid sammen med dato.

Syntaks af CDate er den nemmeste syntaks, vi nogensinde har set. CDate betragter kun udtryk som dato og tid i ethvert format som input. Nedenfor er syntaks af det.

Vi har bare brug for at fodre ethvert nummer, dato eller tid i ethvert format, som vi har, og CDate konverterer det automatisk til standard dato- og tidsformat.

Sådan bruges Excel VBA CDate-funktion?

Vi lærer, hvordan man bruger en VBA CDate-funktion med et par eksempler i Excel.

Du kan downloade denne VBA CDate Excel-skabelon her - VBA CDate Excel-skabelon

VBA CDate - eksempel # 1

Vi vil først tage et simpelt eksempel. I dette eksempel vil vi forsøge at konvertere en enkel type dato til et standardformat, som faktisk er indbygget i Excel som standard.

Følg nedenstående trin for at bruge CDate-funktion i VBA.

Trin 1: Åbn et modul, der er tilgængeligt på fanen Indsæt menu som vist nedenfor.

Trin 2: Skriv nu underproceduren for VBA CDate i ethvert navn som vist nedenfor. Men det anbefales at skrive navnet på underproceduren hovedsageligt i navnet på det udførte arbejde.

Kode:

 Sub VBA_CDate () End Sub 

Trin 3: Nu erklær en variabel, lad os sige, at det er Input1 som streng . I betragtning af datatypen som streng, fordi vi citerer input i kombinationen af ​​tal og alfabeter.

Kode:

 Sub VBA_CDate () Dim Input1 Som String End Sub 

Trin 4: Nu erklærer vi en anden variabel, som vi ser output. Og denne variabel bruges til at se datoer.

Kode:

 Sub VBA_CDate () Dim Input1 Som Streng Dim FormatDato Som Dato slutning Sub 

Trin 5: Vælg nu en hvilken som helst dato, der er i kombinationen af ​​tal og alfabeter, og angiv den i inverterede kommaer som vist nedenfor.

Kode:

 Sub VBA_CDate () Dim Input1 Som Streng Dim FormatDato Som Dato Input1 = "1. september 2019" Slut Sub 

Trin 6: For at konvertere inputdatoen til et standardformat bruger vi CDate- funktion som vist nedenfor med FormatDate-variablen, der blev erklæret ovenfor. Og brug den værdi, der er gemt i variablen Input1.

Kode:

 Sub VBA_CDate () Dim Input1 Som streng Dim FormatDate Som Dato Input1 = "1. september, 2019" FormatDate = CDate (Input1) Slut Sub 

Trin 7: Og for at se output, vil vi bruge Msgbox til at tildele det med FormatDate-funktion af Date.

Kode:

 Sub VBA_CDate () Dim Input1 Som streng Dim FormatDate Som Dato Input1 = "1. september 2019" FormatDate = CDate (Input1) MsgBox FormatDate End Sub 

Trin 8: Kør nu koden ved at trykke på F5-tasten eller ved at klikke på Play-knappen. Vi får den dato, som vi har valgt som 1. september 2019, er nu blevet konverteret til standard datoformat som 9/1/2019 som vist nedenfor.

Vi kan prøve forskellige flere kombinationer af datoer, der virkelig findes, og se, hvilken slags standardoutput vi får.

VBA CDate - Eksempel # 2

I dette eksempel ser vi forskellige typer dato og tid, som findes, og hvilken type output vi ville få, mens vi bruger VBA CDate. Følg nedenstående trin for dette:

Trin 1: Skriv underproceduren for VBA CDate som vist nedenfor.

Kode:

 Sub VBA_CDate2 () End Sub 

Trin 2: Nu vil vi erklære 3-4 forskellige variabler af datatype Dato. Lad os erklære den første variabel som dato1 og give den datatypen som dato som vist nedenfor.

Kode:

 Sub VBA_CDate2 () Dim Date1 Som Date End Sub 

Trin 3: Tildel nu et hvilket som helst nummer, som vi vil konvertere det i datoformat. Vi har valgt et tilfældigt tal som 12345.

Kode:

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

Trin 4: På lignende måde defineres en anden variabel Date2 som datatype Dato som vist nedenfor.

Kode:

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

Trin 5: Nu igen i variablen Date2, overveje at placere en dato i ethvert format. Her har vi holdt 12/3/45 som vores datoinput.

Kode:

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

Trin 6: Yderligere erklærer vi igen en anden variabel Date3 som Date.

Kode:

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

Trin 7: Her tildeler vi ethvert tidspunkt som vist nedenfor som 12:10 PM i 24 timers format.

Kode:

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

Trin 8: Nu til sidst vil vi erklære en anden Date4-variabel som dato.

Kode:

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

Trin 9: Og her giver vi en decimalværdi som 0, 123, eller du kan vælge en hvilken som helst værdi efter behov.

Kode:

 Sub VBA_CDate2 () Dim Date1 Som 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 

Nu er der 2 måder at se output af værdier, der er gemt i forskellige variabler erklæret ovenfor. MsgBox tillader os kun at se alle værdier samtidig, men ved at bruge Debug.print vil vi give mulighed for at se alle variablerne, der udsendes på én gang.

Trin 10: Så her er det bedre, hvis vi vælger Debug.Print som vist nedenfor. Og på samme linje tildeles alle variablerne, der starter fra dato 1 til dato 4.

Kode:

 Sub VBA_CDate2 () Dim Date1 Som 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. Print Date1, Date2, Date3, Date4 End Sub 

Trin 11: Og for at se output, bruger vi det øjeblikkelige vindue som vist nedenfor. For at få adgang til dette, gå til fanen Vis-menu og vælg Umiddelbart vindue som vist nedenfor.

Trin 12: Kør nu koden ved at trykke på F5-tasten eller ved at klikke på Play-knappen. Vi ser, dato datatype har givet os output, men det er ikke i standarddataformat.

Trin 13: For at få standarddataene ud, bruger vi også CDate her. Så vi tildeler CDate for hver dato og tid, som vi brugte til forskellige variabler som vist nedenfor.

Kode:

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

Trin 14: Kør nu koden ved at trykke på F5-tasten eller ved at klikke på Play-knappen.

Vi vil se, at output fra både Date og CDate er det samme, men der er en grundlæggende fælles forskel mellem dem begge. Og det vil sige, at CDate kan konvertere alle typer numre til standard datoformat.

Trin 15: Lad os prøve enhver tekst eller alfabet med CDate og se, hvad vi får. Så vi har indtastet tilfældig tekst som abc i variabel Date4 .

Kode:

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

Trin 16: Kør nu koden igen. Vi får en meddelelsesboks med en fejlmeddelelse som Type Mismatch . Dette skyldes, at CDate ikke kan læse og konvertere tekst til et standard dato- og tidsformat.

Fordele og ulemper ved Excel VBA CDate-funktion

  • Dette kan konvertere enhver dato eller tid til standardformat efter behov.
  • VBA CDate fortolker ethvert nummer som datoværdi og konverterer senere det til et standardformat.
  • Det kan ikke tolke og konvertere teksten til datoformat.

Ting at huske

  • CDate kan kun betragte tal som input, men dette nummer kan være i ethvert format.
  • Tekstværdien kan ikke konverteres.
  • Hvis vi fodrer et tidspunkt eller en dato, der allerede er i standardformatet, returnerer det igen den samme værdi som output.
  • Dato- og CDate-funktion fungerer på samme måde. Mens CDate kan konvertere både tid og dato.

Anbefalede artikler

Dette er en guide til VBA CDate-funktion. Her diskuterer vi, hvordan man bruger CDate-funktion i Excel ved hjælp af VBA-kode sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA-datoformat
  2. Excel DATEDIF-funktion
  3. VBA DateSerial
  4. Excel DATEDIF-funktion

Kategori: