VBA CDATE-funktion

CDATE-funktion i VBA

VBA CDATE är en datatypskonverteringsfunktion som konverterar en datatyp som antingen är text eller sträng till en datumdatatyp. När värdet omvandlas till datumdatatyp kan vi leka med datum grejer.

Syntax för CDATE

Nedan är syntaxen för CDATE-funktionen i VBA.

Uttryck: Uttryck kan vara ett sträng- eller textvärde eller en variabel som innehåller ett värde som ska konverteras till datumdatatypen.

CDATE identifierar datum- och tidsformat på den dator som vi arbetar med och konverterar det angivna värdet till samma datatyp. Om du bara anger dag och månad och ignorerar år tar CDATE-funktionen systemåret, visas tillsammans med levererad dag och månad.

Vi kommer att se fler och fler exempel i avsnittet nedan.

Hur använder jag CDATE-funktionen i Excel VBA?

Exempel på CDATE-funktion i excel vba.

Du kan ladda ner denna VBA CDATE Excel-mall här - VBA CDATE Excel-mall

Exempel nr 1

Innan jag visar dig exemplet på CDATE, se först på nedanstående kod.

Koda:

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

I ovanstående för variabeln "k" har jag tilldelat värdet "25-12". När jag kör den här koden ser vi samma värde i meddelandefältet i VBA.

Men detta kan konverteras till datum med VBA CDATE-funktionen. För detta definierar du ytterligare en variabel som Datum.

Koda:

 Dim k1 som datum 

Tilldela CDATE-funktionen för denna variabel "k1" och leverera variabeln "k" som innehåller strängen "25-12". Och för meddelandefältet visar variabelvärdet “k1” istället för “k”.

Koda:

k1 = CDate (k)

Kör nu koden och se resultatet i en meddelandefält.

Så resultatet är “12/25/2019”.

Titta noga på det värde som vi har levererat, vi har levererat "25-12" som vi inte har levererat år.

När jag skrev den här artikeln var det nuvarande året i mitt system 2019, så VBA CDATE konverterade strängvärdet "25-12" hittills och lade till systemåret 2019 till det. Så slutresultat läs så här 25/12/2019, dvs 25 december 2019.

Exempel 2

Titta nu på koden nedan.

Koda:

 Sub CDATE_Example2 () Dim k som variant Dim kResult som datum k = 43889 kResult = CDate (k) MsgBox kResult End Sub 

I ovanstående kod för variabeln “k” har jag använt numret “43889”. Vi vet alla att detta är ett serienummer men för en annan variabel "KResult" har vi konverterat detta värde hittills med "CDATE" -funktionen.

Samma resultat av variabeln “kResult” som visas i meddelandefältet.

Kör koden och se magin i funktionen “CDATE”.

Det visar resultatet som “2/28/2020”, om du inte känner till datum i excel måste du undra hur detta hände.

Ange till exempel samma nummer (43889) i en av cellerna i kalkylbladet.

För detta gäller formatet “DD-MM-ÅÅÅÅ”.

Klicka nu på Ok och se resultatet.

Nu har resultatet ändrats från ett serienummer till dags dato. Eftersom vi har tillämpat datumformat överst i serienumret har respektive datum visats.

Så det betyder att serienumret 43889 är lika med datumet 28-02-2020.

Så i vår VBA-kod har CDATE-funktionen kört samma sak genom att konvertera strängvärdet till en datadatatyp.

Exempel # 3

För detta exempel, se nedanstående kod.

 Under CDATE_Exempel3 () Dimvärde1 Dimvärde2 Dimvärde3 Värde1 = "24 december 2019" Värde2 = # 6/25/2018 # Värde3 = "18:30:48 PM" MsgBox CDate (Value1) MsgBox CDate (Value2) MsgBox CDate ( Värde3) Slut Sub 

När vi kör den här koden får vi nedanstående resultat.

Så, alla värden konverteras till datumdatatypen med CDATE-funktionen.

Saker att komma ihåg

  • CDATE konverterar endast siffror och strängvärden till datumdatatypen.
  • Detta är användbart när vi använder det med andra funktioner.
  • Om fel datatypsvärde tillhandahålls kommer vi att få typfel.
  • Eftersom datum och tid är en del av serienumret konverteras både tid och rätt tid.