VBA „IsDate“ Kaip naudoti „Excel VBA IsDate“ funkciją?

„Excel VBA IsDate“ funkcija

IsDate yra VBA funkcija, tikrinanti, ar nurodyta reikšmė yra data, ar ne. Jei pateikiama vertė arba diapazono atskaitos vertė yra datos reikšmė, rezultatą gausime kaip „TRUE“, jei vertė nėra datos vertė, rezultatą gausime kaip „FALSE“. Taigi rezultatas yra BOOLEAN vertė, ty TIKRA arba NETIESA.

Žemiau yra „IsDate“ funkcijos sintaksė.

Išraiška yra ne kas kita, o vertė, kurią bandome išbandyti, nesvarbu, ar tai data, ar ne.

Kaip naudotis VBA IsDate funkcija?

Mes patikrinsime, ar reikšmė „5.01.19“ yra datos vertė, ar ne.

Šiam pirmam startui - „Excel“ makrokomanda.

Kodas:

Sub IsDate_Example1 () End Sub

Apibrėžkite kintamąjį, kad būtų išsaugota datos vertė, o kadangi vertė bus datos vertė, duomenų tipą priskirkite tik kaip „Data“.

Kodas:

Sub IsDate_Example1 () Dim MyDate as Date End Sub

Dabar priskirkite „5.1.19“ reikšmę kintamajam „MyDate“.

Kodas:

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

Dabar atidarykite pranešimų laukelį VBA.

Kodas:

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

Šiame pranešimų laukelyje naudodami funkciją „IsDate“ patikrinsime, ar kintamojo „MyDate“ pateikta datos reikšmė yra data, ar ne. Pirmiausia atidarykite „IsDate“ funkciją.

Kodas:

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

Išraiška yra ta vertė, kurią bandome nustatyti, ar ji yra Data, ar ne. Kadangi mes jau išsaugojome reikšmę kintamajam „MyDate“, pateikite tik kintamojo pavadinimą.

Kodas:

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

Gerai, dabar paleiskite kodą ir pamatykite, ką gauname pranešimų laukelyje.

Oho!!! Rezultatas TIKRA .

Jums gali būti įdomu, kaip ji atpažino vertę „5.1.19“ kaip datą.

Priežastis, kodėl jis grąžino rezultatą kaip TIKRA, nes kai žiūrite į nurodytą vertę „5.1.19“, tai yra trumpa datos „2019.01.05“ forma, todėl „Excel“ yra pakankamai puiki, kad ją atpažintų kaip datą, taigi rezultatas TIKRA.

Dabar ateina keblus dalykas, nes ta pati vertė, kurią mes padarysime, yra tai, kad mes pakeisime trumpąją metų formą nuo 19 iki 2019 m.

Kodas:

„Sub IsDate_Example1“ () „Dim MyDate“ kaip eilutė „MyDate“ = "2015 m. 5.1" MsgBox IsDate (MyDate) Pabaiga Sub

Dabar paleiskite kodą ir pamatykite rezultatą.

Šį kartą rezultatas grąžintas kaip NETIESA, nes datos dalis „diena ir mėnuo“ yra trumpa, tačiau metų dalis yra visa „YYYY“ forma, todėl ISDATE negali atpažinti, kad ji turi datą, todėl rezultatas yra NETIESA.

Dabar pažvelkite į žemiau pateiktą kodą.

Kodas:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "2019.01.05" MsgBox IsDate (MyDate) Pabaiga Sub

Aš paminėjau visos dienos ir viso mėnesio formatą naudodamas 0. Paleiskime kodą ir pamatysime „IsDate“ funkcijos rezultatą.

Šį kartą mes taip pat gavome rezultatą kaip FALSE .

Dabar pakeiskite kodą taip.

Kodas:

Sub IsDate_Example1 () Dim MyDate as String MyDate = "2019.01.05" MsgBox IsDate (MyDate) Pabaiga Sub

Vietoj taško (.) Kaip separatoriaus įvedėme priekinį pasvirąjį brūkšnį (/) kaip separatorių. Dabar paleiskite kodą ir pamatykite rezultatą.

Šį kartą rezultatą gavome TIKRĄ .

Dėl šios priežasties straipsnio pradžioje jums sakiau, kad „Data“ yra jautrus dalykas.

Dabar darysiu datą ir laiką.

Kodas:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "2019.01.01 15:26:24" MsgBox IsDate (MyDate) Pabaiga Sub

Tai, ką pridėjau aukščiau, yra laiko dalis „15:26:24“ prieš datą. Dabar paleiskite kodą ir pamatykite rezultatą.

Šį kartą rezultatą gavome kaip TIESĄ, nes „Excel“ DATA ir LAIKAS yra tie patys dalykai ir saugomi kaip serijos numeriai. Visas skaičius reiškia datos dalį, o kableliai - laiko dalį.

Ką čia reikia atsiminti

  • „IsDate“ pateikia Būlio tipo rezultatą, ty „TRUE“ arba „FALSE“.
  • „IsDate“ galima tik kaip VBA funkciją.
  • Tik galiojančios suformatuotos datos traktuojamos kaip datos, kitaip jos bus vertinamos kaip teksto vertės, o rezultatas bus pateiktas kaip NETIESA.

Įdomios straipsniai...