Excel VBA CDate-functie

Heb je gehoord van de functie of opdracht waarmee we alles kunnen omzetten in datum en tijd? Ja, samen met de datumfunctie hebben we de CDate-functie in VBA die dat doet. CDate is de functie van Excel, maar dit kan ook in VBA worden gedaan. CDate converteert alles behalve in standaard datumformaat. Dit kan ook worden gebruikt voor het converteren van tijd samen met Datum.

Syntaxis van CDate is de eenvoudigste syntaxis die we ooit hebben gezien. CDate beschouwt alleen uitdrukking zoals Datum en tijd in elk formaat als invoer. Hieronder staat de syntaxis ervan.

We moeten gewoon elk nummer, datum of tijd in elk formaat invoeren dat we hebben en CDate zal dat automatisch converteren naar het standaard Datum- en tijdformaat.

Hoe Excel VBA CDate-functie te gebruiken?

We zullen leren hoe een VBA CDate-functie te gebruiken met een paar voorbeelden in Excel.

U kunt deze VBA CDate Excel-sjabloon hier downloaden - VBA CDate Excel-sjabloon

VBA CDate - Voorbeeld # 1

We nemen eerst een eenvoudig voorbeeld. In dit voorbeeld zullen we proberen een eenvoudig type datum om te zetten in een standaardformaat dat standaard standaard in Excel is ingebouwd.

Volg de onderstaande stappen om de CDate-functie in VBA te gebruiken.

Stap 1: Open een module die beschikbaar is op het menutabblad Invoegen zoals hieronder wordt weergegeven.

Stap 2: Schrijf nu de subprocedure van VBA CDate in een willekeurige naam zoals hieronder weergegeven. Maar het wordt aanbevolen om de naam van de subprocedure voornamelijk in naam van het uitgevoerde werk te schrijven.

Code:

 Sub VBA_CDate () Einde Sub 

Stap 3: Declareer nu een variabele, laten we zeggen dat het Input1 als String is . We beschouwen het gegevenstype als String omdat we de invoer citeren in de combinatie van cijfers en alfabetten.

Code:

 Sub VBA_CDate () Dim Input1 As String End Sub 

Stap 4: Nu zullen we een andere variabele declareren waarmee we de uitvoer zullen zien. En deze variabele wordt gebruikt om de datums te zien.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date End Sub 

Stap 5: Nu kies een datum die in de combinatie van cijfers en letters en citaat dat tussen aanhalingstekens, zoals hieronder weergegeven.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date Input1 = "1 september 2019" Einde Sub 

Stap 6: Om de invoerdatum te converteren naar een standaardformaat gebruiken we de CDate- functie zoals hieronder getoond met de FormatDate-variabele die hierboven is gedeclareerd. En gebruik de waarde die is opgeslagen in de variabele Input1.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date Input1 = "1 september 2019" FormatDate = CDate (Input1) End Sub 

Stap 7: En om de uitvoer te zien zullen we Msgbox gebruiken om het toe te wijzen met de FormatDate-functie van Date.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date Input1 = "1 september 2019" FormatDate = CDate (Input1) MsgBox FormatDate End Sub 

Stap 8: Voer nu de code uit door op F5 te drukken of door op Play te klikken. We krijgen de datum die we hebben gekozen als 1 september 2019, is nu omgezet in standaard datumformaat als 9/1/2019 zoals hieronder weergegeven.

We kunnen verschillende meervoudige combinaties van datums die echt bestaan ​​proberen en zien wat voor soort standaarduitvoer we krijgen.

VBA CDate - Voorbeeld # 2

In dit voorbeeld zien we verschillende soorten datum en tijd die bestaan ​​en wat voor soort uitvoer we zouden krijgen tijdens het gebruik van VBA CDate. Volg hiervoor de onderstaande stappen:

Stap 1: Schrijf de subprocedure van VBA CDate zoals hieronder getoond.

Code:

 Sub VBA_CDate2 () Einde Sub 

Stap 2: Nu zullen we 3-4 verschillende variabelen van het gegevenstype Datum declareren. Laten we de eerste variabele declareren als Datum1 en deze het gegevenstype geven als Datum zoals hieronder weergegeven.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date End Sub 

Stap 3: wijs nu elk nummer toe dat we het in datumformaat willen converteren. We hebben een willekeurig nummer gekozen als 12345.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Einde Sub 

Stap 4: Definieer op een vergelijkbare manier een andere variabele Datum2 als datumtype Datum zoals hieronder getoond.

Code:

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

Stap 5: Nu weer in de variabele DATE2, overwegen om een datum in elk gewenst formaat. Hier hebben we 12/3/45 bewaard als onze datuminvoer.

Code:

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

Stap 6: Verder zullen we opnieuw een andere variabele Date3 als Date declareren.

Code:

 Sub VBA_CDate2 () Dim datum1 als datum Datum1 = "12345" Dim datum2 als datum Datum2 = "12/3/45" Dim datum3 als datum einde Sub 

Stap 7: Hier zullen we de waarde van elk tijdstip toewijzen, zoals hieronder weergegeven als 12:10 PM in 24-uursnotatie.

Code:

 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 

Stap 8: Nu zullen we ten slotte een andere Date4-variabele als Datum declareren.

Code:

 Sub VBA_CDate2 () Dim datum1 als datum Datum1 = "12345" Dim datum2 als datum Datum2 = "12/3/45" Dim datum3 als datum Datum3 = "00:10:00" Dim datum4 als datum einde Sub 

Stap 9: En hier geven we een decimale waarde zoals 0.123 of u kunt elke gewenste waarde kiezen.

Code:

 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 

Nu zijn er 2 manieren om de uitvoer te bekijken van de waarden die zijn opgeslagen in verschillende hierboven aangegeven variabelen. Met MsgBox kunnen we alleen alle waarden tegelijkertijd zien, maar door Debug.print te gebruiken, kunnen we alle variabelen in één keer zien.

Stap 10: Dus hier is het beter als we Debug.Print kiezen zoals hieronder weergegeven. En wijs op dezelfde regel alle variabelen toe vanaf Datum 1 tot Datum 4.

Code:

 Sub VBA_CDate2 () Dim datum1 als datum Datum1 = "12345" Dim datum2 als datum Datum2 = "12/3/45" Dim datum3 als datum Datum3 = "00:10:00" Dim datum4 als datum Datum4 = "0.123" Debug. Datum afdrukken1, Datum2, Datum3, Datum4 Einde Sub 

Stap 11: En om de uitvoer te zien, zullen we direct venster gebruiken zoals hieronder getoond. Om toegang te krijgen, gaat u naar de menutab Weergave en selecteert u Direct venster zoals hieronder getoond.

Stap 12: Voer nu de code uit door op F5 te drukken of door op Play te klikken. We zullen zien dat het datumgegevenstype ons de uitvoer heeft gegeven, maar dit is niet in het standaardgegevensformaat.

Stap 13: Om de standaardgegevens te krijgen, zullen we hier ook CDate gebruiken. Dus we zullen CDate toewijzen voor elke datum en tijd die we hebben gebruikt voor verschillende variabelen zoals hieronder getoond.

Code:

 Sub VBA_CDate2 () Dim datum1 als datum Datum1 = CDate ("12345") Dim datum2 als datum Datum2 = CDate ("12/3/45") Dim datum3 als datum Datum3 = CDate ("00:10:00") Dim datum4 As Date Date4 = CDate ("0.123") Debug. Print Date1, Date2, Date3, Date4 End Sub 

Stap 14: Voer nu de code uit door op F5 te drukken of door op de knop Afspelen te klikken.

Wij zullen de uitvoer van beide Date zien en CDate zijn hetzelfde, maar er is eenvoudig gemeenschappelijke verschil tussen hen beiden. En dat wil zeggen, CDate kan elk type nummer omzetten in een standaard datumformaat.

Stap 15: Laten we elke tekst of alfabet proberen met CDate en kijken wat we krijgen. Dus we hebben wat willekeurige tekst ingevoerd als abc in variabele Date4 .

Code:

 Sub VBA_CDate2 () Dim datum1 als datum Datum1 = CDate ("12345") Dim datum2 als datum Datum2 = CDate ("12/3/45") Dim datum3 als datum Datum3 = CDate ("00:10:00") Dim datum4 As Date Date4 = CDate ("abc") Debug. Print Date1, Date2, Date3, Date4 End Sub 

Stap 16: Voer de code nu opnieuw uit. We krijgen een berichtvenster met een foutmelding als Type Mismatch . Dit komt omdat CDate geen tekst kan lezen en converteren naar een standaard datum- en tijdnotatie.

Voors en tegens van Excel VBA CDate-functie

  • Dit kan elke gewenste datum of tijd naar standaardformaat converteren.
  • VBA CDate interpreteert elk getal als datumwaarde en converteert dit later naar een standaardformaat.
  • Het kan de tekst niet interpreteren en omzetten in datumnotatie.

Dingen om te onthouden

  • CDate kan getallen alleen als invoer beschouwen, maar dat nummer kan in elk formaat zijn.
  • De tekstwaarde kan niet worden geconverteerd.
  • Als we een tijd of datum invoeren die al in het standaardformaat is, retourneert deze opnieuw dezelfde waarde als uitvoer.
  • Datum- en CDate-functie werken op dezelfde manier. Terwijl we met CDate zowel tijd als datum kunnen converteren.

Aanbevolen artikelen

Dit is een handleiding voor de VBA CDate-functie. Hier bespreken we hoe de CDate-functie in Excel te gebruiken met behulp van VBA-code, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA-datumnotatie
  2. Excel DATEDIF-functie
  3. VBA DateSerial
  4. Excel DATEDIF-functie

Categorie: