VBA CDATE - Hoe CDATE te gebruiken in Excel VBA? (met voorbeelden)

Inhoudsopgave

CDATE-functie in VBA

VBA CDATE is een datatype-conversiefunctie die een datatype dat ofwel tekst of een string is, omzet naar een datatype. Zodra de waarde is geconverteerd naar het datatype van de datum, kunnen we spelen met date-dingen.

Syntaxis van CDATE

Hieronder staat de syntaxis van de CDATE-functie in VBA.

Expressie: expressie kan een tekenreeks of tekstwaarde zijn of een variabele die een waarde bevat die moet worden geconverteerd naar het datatype datum.

CDATE identificeert het datum- en tijdformaat op de computer waaraan we werken en converteert de opgegeven waarde naar hetzelfde datatype voor datum. Als je alleen dag en maand aanlevert en jaar negeert, dan neemt de CDATE-functie het systeemjaar, toont samen met aangeleverde dag en maand.

We zullen steeds meer voorbeelden zien in het onderstaande gedeelte.

Hoe de CDATE-functie in Excel VBA te gebruiken?

Voorbeelden van CDATE-functie in Excel VBA.

Voorbeeld 1

Voordat ik je het voorbeeld van CDATE laat zien, moet je eerst de onderstaande code bekijken.

Code:

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

In het bovenstaande voor de variabele "k" heb ik de waarde toegewezen als "25-12". Wanneer ik deze code uitvoer, zien we dezelfde waarde in het berichtvenster in VBA.

Maar dit kan naar datum worden geconverteerd met behulp van de VBA CDATE-functie, definieer hiervoor nog een variabele als Datum.

Code:

Dim k1 als datum

Voor deze variabele wijst “k1” de functie CDATE toe en levert de variabele “k”, die de string “25-12” bevat. En toon voor het berichtvenster de variabele waarde 'k1' in plaats van 'k'.

Code:

k1 = CDate (k)

Voer nu de code uit en bekijk het resultaat in een berichtvenster.

Het resultaat is dus “12/25/2019”.

Kijk goed naar de waarde die we hebben geleverd. We hebben “25-12” geleverd die we jaar niet hebben geleverd.

Tijdens het schrijven van dit artikel was het huidige jaar in mijn systeem 2019, dus VBA CDATE heeft de stringwaarde "25-12" tot nu toe geconverteerd en het systeemjaar 2019 eraan toegevoegd. Dus eindresultaten lezen als dit 2019/12/25 dwz 25 ste december 2019.

Voorbeeld 2

Kijk nu naar de onderstaande code.

Code:

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

In de bovenstaande code voor de variabele "k" heb ik het nummer "43889" toegepast. We weten allemaal dat dit een serienummer is, maar voor een andere variabele, "KResult", hebben we deze waarde tot op heden omgezet met behulp van de functie "CDATE".

Hetzelfde resultaat van de variabele "KResult" wordt weergegeven in het berichtvenster.

Voer de code uit en zie de magie van de functie "CDATE".

Het toont het resultaat als “28-2-2020” als u niet bekend bent met datums in Excel, dan moet u zich afvragen hoe dit is gebeurd.

Typ bijvoorbeeld hetzelfde nummer (43889) in een van de cellen in de spreadsheet.

Pas hiervoor de indeling toe als "DD-MM-JJJJ."

Klik nu op Ok en zie het resultaat.

Nu is het resultaat veranderd van een serienummer tot nu. Omdat we het datumformaat boven het serienummer hebben toegepast, heeft het de respectieve datum getoond.

Dit betekent dus dat het serienummer 43889 gelijk is aan de datum 28-02-2020.

Dus in onze VBA-code heeft de CDATE-functie hetzelfde uitgevoerd door de tekenreekswaarde naar een datumgegevenstype te converteren.

Voorbeeld # 3

Bekijk voor dit voorbeeld de onderstaande code.

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

Wanneer we deze code uitvoeren, krijgen we de onderstaande resultaten.

Alle waarden worden dus geconverteerd naar het datatype datum met de functie CDATE.

Dingen om te onthouden

  • CDATE converteert alleen getallen en tekenreekswaarden naar het datatype datum.
  • Dit is handig als we het met andere functies gebruiken.
  • Als de verkeerde datatypewaarde wordt opgegeven, krijgen we een typefout.
  • Aangezien datum en tijd deel uitmaken van het serienummer, worden zowel de tijd als de juiste tijd geconverteerd.

Interessante artikelen...