VBA IsDate - Hvordan bruges Excel VBA IsDate-funktion?

Indholdsfortegnelse

Excel VBA IsDate-funktion

IsDate er VBA-funktionen, der tester, om den givne værdi er datoen eller ej. Hvis den leverede værdi eller områdets referenceværdi er datoværdi, får vi resultatet som “SAND”, hvis værdien ikke er datoværdi, får vi resultatet som “FALSK”. Så resultatet er BOOLEAN-værdi, dvs. enten SAND eller FALSK.

Nedenfor er syntaksen for IsDate-funktionen.

Udtrykket er intet andet end den værdi, som vi prøver at teste, uanset om det er datoen eller ej.

Hvordan bruges VBA IsDate-funktion?

Vi vil teste, om værdien “5.01.19” er en datoværdi eller ej.

For denne første start excel-makroproceduren.

Kode:

Sub IsDate_Example1 () Afslut Sub

Definer variablen for at gemme datoværdien, og da værdien vil være datoværdi, skal du kun tildele datatypen som "Dato".

Kode:

Sub IsDate_Example1 () Dim MyDate as Date End Sub

Tildel nu værdien "5.1.19" til variablen "MyDate."

Kode:

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

Åbn meddelelsesfeltet i VBA nu.

Kode:

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

I dette meddelelsesfelt vil vi teste, om den leverede datoværdi til variablen “MyDate” er datoen eller ej ved hjælp af funktionen “IsDate”. Åbn først “IsDate” -funktionen.

Kode:

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

Udtrykket er den værdi, vi tester for at finde ud af, om det er dato eller ej. Da vi allerede har gemt værdien til variablen “MyDate”, skal du kun angive variabelnavnet.

Kode:

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

Ok, kør nu koden og se hvad vi får i meddelelsesfeltet.

Wow !!! Resultatet er SAND .

Du må undre dig over, hvordan den genkendte værdien “5.1.19” som datoen.

Årsagen til, at det har returneret resultatet som SAND, for når man ser på den givne værdi "5.1.19", er det den korte form for datoen "05.01.2019", så excel er strålende nok til at genkende det som dato, så resultatet er SAND.

Nu kommer den vanskelige ting, for den samme værdi, hvad vi vil gøre er, at vi vil ændre årets korte form fra 19 til 2019.

Kode:

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

Kør nu koden og se resultatet.

Denne gang har det returneret resultatet som FALSK, fordi datoen "dag og måned" af datoen er i kort form, men årsdelen er i fuld form af "ÅÅÅÅ", så ISDATE kan ikke genkende, at den har en dato, så resultatet er FALSK.

Se nu på nedenstående kode.

Kode:

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

Jeg har nævnt formatet for en hel dag og en hel måned ved at bruge 0. Lad os køre koden og se resultatet af IsDate-funktionen.

Også denne gang fik vi resultatet som FALSK .

Skift nu koden som følger.

Kode:

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

I stedet for prikken (.) Som separator, har vi indtastet skråstreg (/) som separator. Kør nu koden og se resultatet.

Denne gang fik vi resultatet som SAND .

Dette er grunden til, at jeg i begyndelsen af ​​artiklen har fortalt dig, at "Dato" er en følsom ting.

Hvad jeg nu vil gøre er, at jeg vil flette dato og tid sammen.

Kode:

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

Det, jeg har tilføjet ovenfor, er tidsdelen af ​​“15:26:24” foran datoen. Kør nu koden og se resultatet.

Også denne gang fik vi resultatet som SAND, fordi DATO & TID i Excel er de samme ting og gemmes som serienumre. Hele tallet repræsenterer datodelen, og decimaler repræsenterer tidsdelen.

Ting at huske her

  • IsDate returnerer det boolske resultat, dvs. enten SAND eller FALSK.
  • IsDate er kun tilgængelig som en VBA-funktion.
  • Kun gyldige formaterede datoer behandles som datoen, ellers behandles den som tekstværdier og returnerer resultatet som FALSK.

Interessante artikler...