VBA CDATE | Hvordan bruges CDATE i Excel VBA? (med eksempler)

CDATE-funktion i VBA

VBA CDATE er en datatypekonverteringsfunktion, der konverterer en datatype, der enten er tekst eller streng til en datadatatype. Når værdien er konverteret til datatype, kan vi lege med dato ting.

Syntaks for CDATE

Nedenfor er syntaksen for CDATE-funktionen i VBA.

Udtryk: Udtryk kan være en streng- eller tekstværdi eller en variabel, der indeholder en værdi, der skal konverteres til datadatatypen.

CDATE identificerer dato- og tidsformatet på den computer, vi arbejder på, og konverterer den leverede værdi til den samme datatype. Hvis du kun leverer dag og måned og ignorerer år, tager CDATE-funktionen systemets år, vises sammen med den leverede dag og måned.

Vi vil se flere og flere eksempler i nedenstående afsnit.

Hvordan bruges CDATE-funktionen i Excel VBA?

Eksempler på CDATE-funktion i excel vba.

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

Eksempel nr. 1

Før jeg viser dig eksemplet på CDATE, skal du først se på nedenstående kode.

Kode:

 Sub CDATE_Example1 () Dim k As String k = "25-12" MsgBox k End Sub 

I ovenstående for variablen “k” har jeg tildelt værdien som “25-12”. Når jeg udfører denne kode, ser vi den samme værdi i meddelelsesboksen i VBA.

Men dette kan konverteres til dato ved hjælp af VBA CDATE-funktionen. For dette defineres en mere variabel som Dato.

Kode:

 Dim k1 som dato 

For denne variabel tildeles "k1" CDATE-funktion og leverer variablen "k", der indeholder strengen "25-12". Og for meddelelsesfeltet viser den variable værdi på “k1” i stedet for “k”.

Kode:

k1 = CDate (k)

Kør nu koden og se resultatet i en meddelelsesboks.

Så resultatet er “12/25/2019”.

Se nøje på den værdi, vi har leveret, vi har leveret “25-12”, som vi ikke har leveret år.

Mens jeg skrev denne artikel, var det aktuelle år i mit system 2019, så VBA CDATE konverterede strengværdien "25-12" til dato og tilføjede systemåret 2019 til den. Så endelige resultater læses som denne 12/25/2019 dvs. 25. december 2019.

Eksempel 2

Se nu på nedenstående kode.

Kode:

 Sub CDATE_Example2 () Dim k As Variant Dim kResult As Date k = 43889 kResult = CDate (k) MsgBox kResult End Sub 

I ovenstående kode for variablen “k” har jeg anvendt nummeret “43889”. Vi ved alle, at dette er et serienummer, men for en anden variabel "KResult" har vi konverteret denne værdi til dato ved hjælp af "CDATE" -funktionen.

Det samme resultat af variablen “kResult” vist i meddelelsesfeltet.

Kør koden og se magien ved funktionen “CDATE”.

Det viser resultatet som “28/2/2020”. Hvis du ikke er fortrolig med datoer i excel, skal du undre dig over, hvordan dette skete.

Indtast f.eks. Det samme nummer (43889) i en af ​​cellerne i regnearket.

Til dette gælder formatet som “DD-MM-ÅÅÅÅ”.

Klik nu på Ok og se resultatet.

Nu er resultatet ændret fra et serienummer til dato. Da vi har anvendt datoformat øverst på serienummeret, har det vist den respektive dato.

Så det betyder, at serienummeret 43889 er lig med datoen 28-02-2020.

Så i vores VBA-kode har CDATE-funktionen udført den samme ting ved at konvertere strengværdien til en datadatatype.

Eksempel 3

For dette eksempel se nedenstående kode.

 Sub CDATE_Example3() Dim Value1 Dim Value2 Dim Value3 Value1 = "December 24, 2019" Value2 = #6/25/2018# Value3 = "18:30:48 PM" MsgBox CDate(Value1) MsgBox CDate(Value2) MsgBox CDate(Value3) End Sub 

When we run this code we will get the below results.

So, all the values are converted to the date data type with the CDATE function.

Things to Remember

  • CDATE converts only numbers and string values to the date data type.
  • This is useful when we use it with other functions.
  • If the wrong data type value is supplied then we will get type mismatch error.
  • Since date and time are part of serial number it converts time as well as proper time.