VBA IsDate - Hoe Excel VBA IsDate-functie te gebruiken?

Excel VBA IsDate-functie

IsDate is de VBA-functie die test of de opgegeven waarde de datum is of niet. Als de opgegeven waarde of bereikreferentiewaarde de datumwaarde is, krijgen we het resultaat als "WAAR", als de waarde niet de datumwaarde is, krijgen we het resultaat als "ONWAAR". Het resultaat is dus een BOOLEAN-waarde, dwz WAAR of ONWAAR.

Hieronder staat de syntaxis van de IsDate-functie.

De uitdrukking is niets anders dan de waarde die we proberen te testen, of het nu de datum is of niet.

Hoe de VBA IsDate-functie te gebruiken?

We zullen testen of de waarde “5.01.19” een datumwaarde is of niet.

Voor deze eerste start, de Excel-macroprocedure.

Code:

Sub IsDate_Example1 () End Sub

Definieer de variabele om de datumwaarde op te slaan, en aangezien de waarde de datumwaarde is, wijst u het gegevenstype alleen toe als "Datum".

Code:

Sub IsDate_Example1 () Dim MyDate As Date End Sub

Wijs nu de waarde van "5.1.19" toe aan de variabele "MyDate".

Code:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" End Sub

Open nu het berichtvenster in VBA.

Code:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox (End Sub

In dit berichtvenster zullen we testen of de opgegeven datumwaarde voor de variabele "MyDate" de datum is of niet door de functie "IsDate" te gebruiken. Open eerst de functie "IsDate".

Code:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub

De uitdrukking is de waarde die we testen om erachter te komen of het Date is of niet. Aangezien we de waarde al hebben opgeslagen in de variabele "MyDate", moet u alleen de variabelenaam opgeven.

Code:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub

Ok, voer nu de code uit en kijk wat we in het berichtvenster krijgen.

Wauw!!! Het resultaat is WAAR .

U moet zich afvragen hoe het de waarde "5.1.19" als de datum heeft herkend.

De reden waarom het het resultaat als WAAR heeft geretourneerd, want als je naar de gegeven waarde "5.1.19" kijkt, is dit de korte vorm van de datum "05.01.2019", dus Excel is briljant genoeg om het als datum te herkennen, dus het resultaat is WAAR.

Nu komt hier het lastige, voor dezelfde waarde, wat we zullen doen is dat we de korte vorm van het jaar veranderen van 19 in 2019.

Code:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Voer nu de code uit en zie het resultaat.

Deze keer heeft het het resultaat als FALSE geretourneerd omdat het "dag en maand" -gedeelte van de datum in korte vorm is, maar het jaargedeelte is in de volledige vorm van "YYYY", dus ISDATE kan het niet herkennen dat het een datum heeft, dus het resultaat is fout.

Kijk nu naar de onderstaande code.

Code:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

Ik heb een indeling voor een hele dag en een hele maand genoemd door 0 te gebruiken. Laten we de code uitvoeren en het resultaat van de IsDate-functie bekijken.

Ook dit keer kregen we het resultaat als ONWAAR .

Verander nu de code als volgt.

Code:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub

In plaats van de punt (.) Als scheidingsteken hebben we een slash (/) als scheidingsteken ingevoerd. Voer nu de code uit en zie het resultaat.

Deze keer kregen we het resultaat als WAAR .

Dit is de reden waarom ik je aan het begin van het artikel heb verteld dat "Datum" een gevoelig iets is.

Wat ik nu ga doen, is de datum en tijd samenvoegen.

Code:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub

Wat ik hierboven heb toegevoegd, is het tijdgedeelte van "15:26:24" vóór de datum. Voer nu de code uit en zie het resultaat.

Ook deze keer kregen we het resultaat als WAAR omdat DATUM & TIJD in Excel dezelfde dingen zijn en worden opgeslagen als serienummers. Het hele getal vertegenwoordigt het datumgedeelte en decimalen vertegenwoordigen het tijdgedeelte.

Dingen om hier te onthouden

  • IsDate retourneert het resultaat van het Booleaanse type, dwz TRUE of FALSE.
  • IsDate is alleen beschikbaar als VBA-functie.
  • Alleen geldige opgemaakte datums worden als de datum behandeld, anders worden ze als tekstwaarden behandeld en wordt het resultaat als FALSE geretourneerd.

Interessante artikelen...