VBA IsDate - Kako koristiti Excel VBA IsDate funkciju?

Excel VBA IsDate funkcija

IsDate je VBA funkcija koja testira je li zadana vrijednost datum ili ne. Ako je navedena vrijednost ili referentna vrijednost raspona datumska vrijednost, tada ćemo dobiti rezultat kao "TRUE", ako vrijednost nije datumska vrijednost, dobit ćemo rezultat kao "FALSE". Dakle, rezultat je BOOLEAN vrijednost, tj. TRUE ili FALSE.

Ispod je sintaksa funkcije IsDate.

Izraz nije ništa drugo do vrijednost koju pokušavamo testirati, bez obzira radi li se o datumu ili ne.

Kako se koristi funkcija VBA IsDate?

Testirat ćemo je li vrijednost “5.01.19” datumska vrijednost ili ne.

Za ovaj prvi početak, excel makro postupak.

Kodirati:

Sub IsDate_Example1 () Kraj Sub

Definirajte varijablu za pohranu vrijednosti datuma, a budući da će vrijednost biti vrijednost datuma, dodijelite vrstu podataka samo "Datum".

Kodirati:

Sub IsDate_Example1 () Zatamni MyDate kao datum završetka Sub

Sada dodijelite vrijednost "5.1.19" varijabli "MyDate".

Kodirati:

Sub IsDate_Example1 () Zatamni MyDate kao datum MyDate = "5.1.19" Kraj Sub

Otvorite okvir za poruke u VBA odmah.

Kodirati:

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

U ovom okviru za poruke provjerit ćemo je li navedena vrijednost datuma za varijablu "MyDate" datum ili ne pomoću funkcije "IsDate". Prvo otvorite funkciju "IsDate".

Kodirati:

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

Izraz je vrijednost koju testiramo kako bismo utvrdili je li Datum ili ne. Budući da smo vrijednost već pohranili u varijablu "MyDate", navedite samo ime varijable.

Kodirati:

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

Ok, sada pokrenite kod i pogledajte što ćemo dobiti u okviru za poruku.

Wow !!! Rezultat je ISTINA .

Sigurno se pitate kako je prepoznao vrijednost "5.1.19" kao datum.

Razlog zašto je rezultat vratio kao ISTINITO, jer kada pogledate zadanu vrijednost "5.1.19", to je kratki oblik datuma "05.01.2019", pa je excel dovoljno sjajan da ga prepozna kao datum, pa rezultat je ISTINIT.

Sada dolazi zeznuta stvar, za istu vrijednost, ono što ćemo učiniti je da promijenimo kratki oblik godine od 19. do 2019. godine.

Kodirati:

Sub IsDate_Example1 () Zatamni MyDate kao niz MyDate = "5.1.2019" MsgBox IsDate (MyDate) Kraj Sub

Sada pokrenite kod i pogledajte rezultat.

Ovaj put je rezultat vratio kao NETOČNO jer je dio datuma "dan i mjesec" u kratkom obliku, ali dio godine u punom je obliku "GGGG", tako da ISDATE ne može prepoznati da ima datum, pa rezultat je LAŽNO.

Sada pogledajte kod u nastavku.

Kodirati:

Sub IsDate_Example1 () Zatamni MyDate kao niz MyDate = "05.01.2019" MsgBox IsDate (MyDate) Kraj Sub

Spomenuo sam format cjelodnevnog i cjelovitog mjeseca pomoću 0. Pokrenimo kod i vidjet ćemo rezultat funkcije IsDate.

I ovaj put smo dobili rezultat kao FALSE .

Sada promijenite kod na sljedeći način.

Kodirati:

Sub IsDate_Example1 () Zatamni MyDate kao niz MyDate = "05/01/2019" MsgBox IsDate (MyDate) Kraj Sub

Umjesto točke (.) Kao separatora, kao separator unijeli smo kosu crtu (/). Sada pokrenite kod i pogledajte rezultat.

Ovaj put smo rezultat dobili ISTINITO .

To je razlog zbog kojeg sam vam na početku članka rekao da je "Datum" osjetljiva stvar.

Sada ću spojiti datum i vrijeme.

Kodirati:

Sub IsDate_Example1 () Zatamni MyDate kao niz MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) Kraj Sub

Ono što sam gore dodao je vremenski dio "15:26:24" ispred datuma. Sada pokrenite kod i pogledajte rezultat.

I ovaj put dobili smo rezultat kao ISTINA jer su DATUM I VRIJEME u excelu iste stvari i pohranjeni kao serijski brojevi. Cijeli broj predstavlja datumski dio, a decimalna mjesta predstavljaju vremenski dio.

Stvari koje treba ovdje zapamtiti

  • IsDate vraća rezultat tipa Boolean, tj. TRUE ili FALSE.
  • IsDate je dostupan samo kao VBA funkcija.
  • Samo važeći formatirani datumi tretiraju se kao datum ili će se tretirati kao tekstualne vrijednosti i vratiti rezultat kao FALSE.

Zanimljivi članci...