VBA CDATE | Hvordan bruker jeg CDATE i Excel VBA? (med eksempler)

CDATE-funksjon i VBA

VBA CDATE er en datatypekonverteringsfunksjon som konverterer en datatype som enten er tekst eller streng til en datodatatype. Når verdien er omgjort til datatype, kan vi leke med dato ting.

Syntaks for CDATE

Nedenfor er syntaksen til CDATE-funksjonen i VBA.

Uttrykk: Uttrykk kan være en streng- eller tekstverdi eller en variabel som inneholder en verdi som skal konverteres til datadatatypen.

CDATE identifiserer dato og klokkeslettformat på datamaskinen vi jobber med, og konverterer den medfølgende verdien til samme datatype. Hvis du bare leverer dag og måned og ignorerer år, tar CDATE-funksjonen systemårene, viser sammen med den medfølgende dagen og måneden.

Vi vil se flere og flere eksempler i avsnittet nedenfor.

Hvordan bruker jeg CDATE-funksjonen i Excel VBA?

Eksempler på CDATE-funksjon i excel vba.

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

Eksempel 1

Før jeg viser deg eksemplet på CDATE, se først på koden nedenfor.

Kode:

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

I ovenstående for variabelen “k” har jeg tildelt verdien som “25-12”. Når jeg utfører denne koden, ser vi den samme verdien i meldingsboksen i VBA.

Men dette kan konverteres til dato ved hjelp av VBA CDATE-funksjonen. For dette definerer du en variabel til som Dato.

Kode:

 Dim k1 Som dato 

For denne variabelen tildeler “k1” CDATE-funksjonen og leverer variabelen “k” som inneholder strengen “25-12”. Og for meldingsboksen viser du variabelverdien til “k1” i stedet for “k”.

Kode:

k1 = CDate (k)

Kjør nå koden og se resultatet i en meldingsboks.

Så resultatet er “25.12.2019”.

Se nøye på verdien vi har levert, vi har levert "25-12" vi ikke har levert år.

Mens jeg skrev denne artikkelen, var gjeldende år i systemet mitt 2019, så VBA CDATE konverterte strengverdien "25-12" til dags dato og la til systemåret 2019 i den. Så endelige resultater blir lest slik 25.12.2019, dvs. 25. desember 2019.

Eksempel 2

Nå, se på koden nedenfor.

Kode:

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

I den ovennevnte koden for variabelen “k”, har jeg brukt nummeret “43889”. Vi vet alle at dette er et serienummer, men for en annen variabel "KResult" har vi konvertert denne verdien til dags dato ved å bruke "CDATE" -funksjonen.

Samme resultat av variabelen “kResult” vist i meldingsboksen.

Kjør koden og se magien til funksjonen “CDATE”.

Det viser resultatet som “28.02.2020”. Hvis du ikke er kjent med datoer i excel, må du lure på hvordan dette skjedde.

Skriv for eksempel inn det samme nummeret (43889) i en av cellene i regnearket.

For dette gjelder formatet som “DD-MM-ÅÅÅÅ”.

Klikk nå på Ok og se resultatet.

Nå har resultatet endret seg fra et serienummer til dags dato. Fordi vi har brukt datoformat øverst på serienummeret, har det vist den respektive datoen.

Så dette betyr at serienummeret 43889 er lik datoen 28-02-2020.

Så i vår VBA-kode har CDATE-funksjonen utført det samme ved å konvertere strengverdien til en datadatatype.

Eksempel 3

For dette eksemplet se koden nedenfor.

 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.