Excel VBA CDate-funksjon

Har du hørt om funksjonen eller kommandoen som vi kan konvertere noe til dato og tid? Ja, sammen med Date-funksjonen har vi CDate-funksjon i VBA som gjør det. CDate er funksjonen til excel, men dette kan også gjøres i VBA. CDate konverterer alt annet enn til standard datoformat. Dette kan brukes til å konvertere tid i tillegg til Date.

Syntaks av CDate er den enkleste syntaks vi noensinne har sett. CDate vurderer kun uttrykk som dato og tid i hvilket som helst format som inndata. Nedenfor er syntaks av det.

Vi trenger bare å mate hvilket som helst antall, dato eller tid i hvilket som helst format som vi har, og CDate vil automatisk konvertere det til standard dato og klokkeslettformat.

Hvordan bruker jeg Excel VBA CDate-funksjon?

Vi lærer hvordan du bruker en VBA CDate-funksjon med noen få eksempler i Excel.

Du kan laste ned denne VBA CDate Excel-malen her - VBA CDate Excel-mal

VBA CDate - Eksempel # 1

Vi tar først et enkelt eksempel. I dette eksemplet vil vi prøve å konvertere en enkel type dato til et standardformat som faktisk er innebygd i Excel som standard.

Følg trinnene nedenfor for å bruke CDate-funksjon i VBA.

Trinn 1: Åpne en modul som er tilgjengelig i Sett inn menyfanen som vist nedenfor.

Trinn 2: Skriv nå underprosessen til VBA CDate i hvilket som helst navn som vist nedenfor. Men det anbefales å skrive navnet på underprosessen i navn på utført arbeid.

Kode:

 Sub VBA_CDate () Slutt Sub 

Trinn 3:erklær en variabel, la oss si at den er Input1 som streng . Ser på datatypen som streng fordi vi vil sitere inndataene i kombinasjonen av tall og alfabeter.

Kode:

 Sub VBA_CDate () Dim Input1 Som String End Sub 

Trinn 4: Nå vil vi erklære en annen variabel som vi vil se utdataene til. Og denne variabelen vil bli brukt til å se datoene.

Kode:

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

Trinn 5: Velg en hvilken som helst dato som er i kombinasjonen av tall og alfabeter, og sitat den i inverterte komma som vist nedenfor.

Kode:

 Sub VBA_CDate () Dim Input1 Som Streng Dim FormatDate As Date Input1 = "1. september 2019" Slutt Sub 

Trinn 6: For å konvertere inndatoen til et standardformat vil vi bruke CDate- funksjonen som vist nedenfor med FormatDate-variabelen som ble erklært ovenfor. Og bruk verdien som er lagret i variabelen Input1.

Kode:

 Sub VBA_CDate () Dim Input1 Som Streng Dim FormatDate Som Dato Input1 = "1. september 2019" FormatDate = CDate (Input1) Slutt Sub 

Trinn 7: Og for å se utdataene vil vi bruke Msgbox til å tilordne den med FormatDate-funksjonen til Date.

Kode:

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

Trinn 8: Kjør nå koden ved å trykke på F5-tasten eller ved å klikke på Spill-knappen. Vi får datoen som vi har valgt 1. september 2019, er nå omgjort til standard datoformat som 1/9/2019 som vist nedenfor.

Vi kan prøve forskjellige flere kombinasjoner av datoer som virkelig eksisterer og se hva slags standardutdata vi får.

VBA CDate - Eksempel # 2

I dette eksemplet vil vi se forskjellige typer dato og klokkeslett som eksisterer og hva slags output vi ville fått når vi bruker VBA CDate. Følg trinnene nedenfor for dette:

Trinn 1: Skriv delprosessen til VBA CDate som vist nedenfor.

Kode:

 Sub VBA_CDate2 () Slutt Sub 

Trinn 2: Nå vil vi erklære 3-4 forskjellige variabler av datatype dato. La oss erklære den første variabelen som Date1 og gi den datatypen som Date som vist nedenfor.

Kode:

 Sub VBA_CDate2 () Dim Date1 Som Date End Sub 

Trinn 3: Tildel nå hvilket som helst nummer som vi vil konvertere det i datoformat. Vi har valgt et tilfeldig tall som 12345.

Kode:

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

Trinn 4: Definer på en lignende måte en annen variabel Date2 som datatype Dato som vist nedenfor.

Kode:

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

Trinn 5: Nå igjen i variabelen Date2, vurder å legge en dato i hvilket som helst format. Her har vi holdt 12/3/45 som datoinnspill.

Kode:

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

Trinn 6: Videre vil vi igjen erklære en annen variabel Date3 som Date.

Kode:

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

Trinn 7: Her vil vi tildele hvilken som helst tid som vist nedenfor som 12:10 PM i 24 timer format.

Kode:

 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 

Trinn 8: Nå til slutt vil vi erklære en annen Date4-variabel som Date.

Kode:

 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 Som Date End Sub 

Trinn 9: Og her vil vi gi noen desimalverdi som 0.123, eller du kan velge hvilken som helst verdi etter behov.

Kode:

 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 

Nå er det to måter å se utdataene for verdiene som er lagret i forskjellige variabler erklært ovenfor. MsgBox vil bare tillate oss å se alle verdier samtidig, men ved å bruke Debug.print vil vi kunne se alle variablene som blir produsert på en gang.

Trinn 10: Så her er det bedre hvis vi velger Feilsøking. Skriv ut som vist nedenfor. Og på samme linje tilordne alle variablene som starter fra Dato 1 til Dato 4.

Kode:

 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. Print Date1, Date2, Date3, Date4 End Sub 

Trinn 11: Og for å se utdataene, bruker vi det umiddelbare vinduet som vist nedenfor. For å få tilgang til dette, gå til Vis-menyfanen og velg Umiddelbart vindu som vist nedenfor.

Trinn 12: Kjør nå koden ved å trykke på F5-tasten eller ved å klikke på Spill-knappen. Vi vil se, dato datatype har gitt oss output, men den er ikke i standard dataformat.

Trinn 13: For å få standarddataene ut, bruker vi CDate her også. Så vil vi tildele CDate for hver dato og tid som vi brukte for forskjellige variabler som vist nedenfor.

Kode:

 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 Som Dato Dato4 = CDate ("0.123") Feilsøking. Skriv ut dato1, dato2, dato3, dato4 sluttund 

Trinn 14: Kjør nå koden ved å trykke på F5-tasten eller ved å klikke på Play-knappen.

Vi vil se at utdataene fra både Date og CDate er de samme, men det er grunnleggende felles forskjell mellom dem begge. Og det vil si at CDate kan konvertere alle typer tall til standard datoformat.

Trinn 15: La oss prøve hvilken som helst tekst eller alfabet med CDate og se hva vi får til. Så vi har lagt inn litt tilfeldig tekst som abc i variabel Date4 .

Kode:

 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 Som Dato Dato4 = CDate ("abc") Feilsøking. Skriv ut Dato1, Dato2, Dato3, Dato4 Slutt Sub 

Trinn 16: Kjør nå koden igjen. Vi vil få en meldingsboks med en feilmelding som Type Mismatch . Dette er fordi CDate ikke kan lese og konvertere tekst til et standard dato og tidsformat.

Fordeler og ulemper med Excel VBA CDate-funksjon

  • Dette kan konvertere hvilken som helst dato eller tid til standardformat etter behov.
  • VBA CDate tolker et hvilket som helst nummer som datoverdi og konverterer det senere til et standardformat.
  • Den kan ikke tolke og konvertere teksten til datoformat.

Ting å huske

  • CDate kan bare betrakte tall som inndata, men det tallet kan være i alle format.
  • Tekstverdien kan ikke konverteres.
  • Hvis vi mater en tid eller dato som allerede er i standardformatet, vil den igjen returnere den samme verdien som output.
  • Dato og CDate-funksjon fungerer på samme måte. Mens CDate kan konvertere både tid og dato.

Anbefalte artikler

Dette er en guide til VBA CDate-funksjon. Her diskuterer vi hvordan du bruker CDate-funksjon i Excel ved hjelp av VBA-kode sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

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

Kategori: