VBA IsDate - Kako uporabljati funkcijo Excel VBA IsDate?

Funkcija Excel VBA IsDate

IsDate je funkcija VBA, ki preizkuša, ali je dana vrednost datum. Če je navedena vrednost ali referenčna vrednost obsega datumska vrednost, bomo rezultat dobili kot “TRUE”, če vrednost ni datumska vrednost, bomo rezultat dobili kot “FALSE”. Rezultat je torej vrednost BOOLEAN, tj. TRUE ali FALSE.

Spodaj je sintaksa funkcije IsDate.

Izraz ni nič drugega kot vrednost, ki jo poskušamo preizkusiti, ne glede na to, ali gre za datum ali ne.

Kako uporabiti funkcijo VBA IsDate?

Preizkusili bomo, ali je vrednost »5.01.19« datumska vrednost ali ne.

Za prvi zagon je makro postopek excel.

Koda:

Sub IsDate_Example1 () Konec Sub

Določite spremenljivko za shranjevanje vrednosti datuma in ker bo vrednost vrednost datuma, določite vrsto podatkov samo kot »Datum«.

Koda:

Sub IsDate_Example1 () Zatemni MyDate kot datum konca Sub

Zdaj spremenljivki »MyDate« dodelite vrednost »5.1.19«.

Koda:

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

Odprite polje za sporočila v VBA zdaj.

Koda:

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

V tem sporočilu bomo s funkcijo "IsDate" preizkusili, ali je podana vrednost datuma za spremenljivko "MyDate" datum ali ne. Najprej odprite funkcijo »IsDate«.

Koda:

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

Izraz je vrednost, ki jo preizkušamo, da ugotovimo, ali je datum ali ne. Ker smo vrednost že shranili v spremenljivko »MyDate«, vnesite samo ime spremenljivke.

Koda:

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

Ok, zdaj zaženite kodo in si oglejte, kaj dobimo v polju za sporočila.

Vau !!! Rezultat je RES .

Verjetno se sprašujete, kako je kot datum prepoznal vrednost »5.1.19«.

Razlog, zakaj je rezultat vrnil kot TRUE, ker ko pogledate dano vrednost »5.1.19« , je to kratka oblika datuma »05.01.2019«, zato je excel dovolj sijajen, da ga prepozna kot datum, zato rezultat je TRUE.

Zdaj prihaja kočljiva stvar, saj bomo za enako vrednost spremenili kratko obliko leta od 19 do 2019.

Koda:

Sub IsDate_Example1 () Dim MyDate kot niz MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Zdaj zaženite kodo in si oglejte rezultat.

Tokrat je rezultat vrnil kot FALSE, ker je del datuma z dnevom in mesecem v kratki obliki, del leta pa v polni obliki „LLLL“, zato ISDATE ne more prepoznati, da ima datum, zato je rezultat je LAŽNO.

Zdaj si oglejte spodnjo kodo.

Koda:

Sub IsDate_Example1 () Dim MyDate kot niz MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

Z uporabo 0. Omenil sem celodnevni in celomesečni format. Zaženimo kodo in si oglejmo rezultat funkcije IsDate.

Tokrat smo tudi dobili rezultat LAŽNO .

Zdaj spremenite kodo, kot sledi.

Koda:

Sub IsDate_Example1 () Dim MyDate kot niz MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub

Namesto pike (.) Kot ločila smo kot ločilo vnesli poševnico naprej (/). Zdaj zaženite kodo in si oglejte rezultat.

Tokrat smo rezultat dobili TRUE .

To je razlog, da sem vam na začetku članka povedal, da je "Datum" občutljiva stvar.

Zdaj bom združil datum in uro.

Koda:

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

Zgoraj sem dodal časovni del "15:26:24" pred datumom. Zdaj zaženite kodo in si oglejte rezultat.

Tudi tokrat smo rezultat dobili TRUE, ker sta DATUM IN ČAS v Excelu enaki in shranjeni kot serijske številke. Celotno število predstavlja datumski del, decimalna mesta pa časovni del.

Tukaj si je treba zapomniti

  • IsDate vrne rezultat vrste Boolean, tj. TRUE ali FALSE.
  • IsDate je na voljo samo kot funkcija VBA.
  • Kot datum se obravnavajo samo veljavni formatirani datumi, sicer pa kot besedilne vrednosti in rezultat vrne kot FALSE.

Zanimive Članki...