VBA IsDate | Kuidas kasutada Exceli VBA IsDate'i funktsiooni?

Exceli VBA IsDate funktsioon

IsDate on funktsioon VBA, mis testib, kas antud väärtus on kuupäev või mitte. Kui sisestatud väärtus või vahemiku võrdlusväärtus on kuupäeva väärtus, siis saame tulemuse väärtuseks “TÕENE”, kui väärtus pole kuupäeva väärtus, siis tulemuse väärtuseks “VÄÄR”. Seega on tulemuseks BOOLEANi väärtus, st kas TRUE või FALSE.

Allpool on funktsiooni IsDate süntaks.

Väljend pole midagi muud kui väärtus, mida proovime proovida, kas see on kuupäev või mitte.

Kuidas kasutada VBA IsDate funktsiooni?

Selle VBA IsDate Exceli malli saate alla laadida siit - VBA IsDate Exceli mall

Testime, kas väärtus “5.01.19” on kuupäeva väärtus või mitte.

Selle jaoks alustage esmalt Exceli makroprotseduuri.

Kood:

 Sub IsDate_Example1 () End Sub 

Määrake muutuja kuupäeva väärtuse salvestamiseks ja kuna väärtuseks on kuupäeva väärtus, määrake andmetüübiks ainult kuupäev.

Kood:

 Sub IsDate_Example1 () Dim MyDate kui kuupäeva lõpp Sub 

Nüüd määrake muutujale „MyDate” väärtus „5.1.19”.

Kood:

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

Avage VBA-s kohe sõnumikast

Kood:

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

Selles teatekastis testime funktsiooni „IsDate” abil, kas muutujale „MyDate” esitatud kuupäeva väärtus on kuupäev või mitte. Esmalt avage funktsioon „IsDate”.

Kood:

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

Avaldis on väärtus, mida testime, et leida, kas see on kuupäev või mitte. Kuna väärtusele „MyDate” on väärtus juba salvestatud, esitage muutuja nimi ainult.

Kood:

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

Ok, käivitage nüüd kood ja vaadake, mida me saame sõnumikastist.

Vau !!! Tulemus on TÕSI .

Peate kindlasti mõtlema, kuidas see tunnustas kuupäeva väärtusena 5.1.19.

Põhjus, miks see on andnud tulemuseks TÕENE, sest kui vaadata antud väärtust “5.1.19”, on see kuupäeva “05.01.2019” lühike vorm, nii et Excel on piisavalt geniaalne, et seda kuupäevana ära tunda, nii et tulemus on tõsi.

Nüüd on siin keeruline asi, sama väärtusega, mida me teeme, muudame aasta lühivormi 19-lt 2019-le.

Kood:

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

Nüüd käivitage kood ja vaadake tulemust.

Seekord on tulemus tagastatud FALSE, kuna kuupäeva osa „päev ja kuu” on lühikeses vormis, kuid aastaosa on täis kujul „YYYY”, nii et ISDATE ei saa tuvastada, et sellel on kuupäev, nii et tulemus on FALSE.

Nüüd vaadake allolevat koodi.

Kood:

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

Olen maininud terve päeva ja terve kuu vormingut 0 abil, käivitame koodi ja näeme funktsiooni IsDate tulemust.

Seekord saime ka tulemuse valeks .

Nüüd muutke koodi järgmiselt.

Kood:

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

Punkti (.) Kui eraldaja asemel oleme eraldajana sisestanud kaldkriipsu (/). Nüüd käivitage kood ja vaadake tulemust.

Seekord saime tulemuseks TÕENE .

See on põhjus, miks ma ütlesin teile artikli alguses, et "Kuupäev" on tundlik asi.

Nüüd ühendan kuupäeva ja kellaaja kokku.

Kood:

 Sub IsDate_Example1 () Dim MyDate Stringina MyDate = "01.01.2019 15:26:24" MsgBox IsDate (MyDate) End Sub 

Mida ma olen eespool lisanud, on ajaosa „15:26:24” kuupäeva ees. Nüüd käivitage kood ja vaadake tulemust.

Ka seekord saime tulemuseks TÕENE, sest Exceli DATE & TIME on samad asjad ja salvestatud seerianumbritena. Kogu number tähistab kuupäeva osa ja kümnendkohad tähistavad ajaosa.

Siinkohal meeldejäävad asjad

  • IsDate tagastab tõeväärtuse tulemuse, st kas TRUE või FALSE.
  • IsDate on saadaval ainult VBA funktsioonina.
  • Ainult kehtivaid vormindatud kuupäevi käsitletakse kuupäevana, muidu käsitletakse seda tekstiväärtustena ja tulemus tagastatakse VÄÄRTEKS.