VBA IsDate-functie

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 "TRUE", als de waarde geen datumwaarde is, krijgen we het resultaat als "FALSE". Het resultaat is dus een BOOLEAN-waarde, dwz WAAR of ONWAAR.

Hieronder staat de syntaxis van de IsDate-functie.

Expressie is niets anders dan de waarde die we proberen te testen of het de datum is of niet.

Hoe de VBA IsDate-functie te gebruiken?

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

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

Start hiervoor eerst de Excel-macro-procedure.

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 als "Datum" toe.

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 

Expressie is de waarde die we testen om erachter te komen of het Datum is of niet. Aangezien we de waarde al hebben opgeslagen in de variabele "MyDate", geeft u alleen de variabelenaam op.

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 FALSE.

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 het volledige dag- en volledige maandformaat genoemd door 0 te gebruiken, laten we de code uitvoeren en het resultaat van de IsDate-functie bekijken.

Ook deze 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 opgeslagen als serienummers. Het gehele 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 behandeld als tekstwaarden en wordt het resultaat als FALSE geretourneerd.