VBA IsDate - Ako používať funkciu Excel VBA IsDate?

Funkcia Excel VBA IsDate

IsDate je funkcia VBA, ktorá testuje, či je daná hodnota dátumom alebo nie. Ak je zadanou hodnotou alebo referenčnou hodnotou rozsahu dátumová hodnota, dostaneme výsledok ako „TRUE“, ak hodnota nie je dátumová hodnota, dostaneme výsledok ako „FALSE“. Výsledkom je teda hodnota BOOLEAN, tj TRUE alebo FALSE.

Nižšie je uvedená syntax funkcie IsDate.

Výraz nie je nič iné ako hodnota, ktorú sa pokúšame otestovať, či už je to dátum alebo nie.

Ako používať funkciu VBA IsDate?

Vyskúšame, či je hodnota „5.01.19“ hodnotou dátumu alebo nie.

Pri tomto prvom štarte je postup v makre programu Excel.

Kód:

Sub IsDate_Example1 () Koncový sub

Definujte premennú na uloženie hodnoty dátumu a pretože bude mať hodnotu dátumu, priraďte dátový typ iba ako „Dátum“.

Kód:

Sub IsDate_Example1 () Dim MyDate ako dátum End Sub

Teraz priraďte hodnotu „5.1.19“ k premennej „MyDate“.

Kód:

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

Teraz otvorte schránku správ vo VBA.

Kód:

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

V tomto okne so správou pomocou funkcie „IsDate“ otestujeme, či je dodaná hodnota dátumu do premennej „MyDate“ dátum alebo nie. Najskôr otvorte funkciu „IsDate“.

Kód:

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

Výraz je hodnota, ktorú testujeme, aby sme zistili, či ide o dátum alebo nie. Pretože sme hodnotu už uložili do premennej „MyDate“, zadajte iba názov premennej.

Kód:

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

Dobre, teraz spustite kód a pozrite sa, čo dostaneme, do schránky správ.

Wow!!! Výsledok je PRAVDA .

Určite sa pýtate, ako ako dátum rozpoznal hodnotu „5.1.19“.

Dôvod, prečo vrátil výsledok ako TRUE, pretože keď sa pozriete na danú hodnotu „5.1.19“ , ide o krátku podobu dátumu „05.01.2019“, takže program Excel je natoľko brilantný, že ho dokáže rozpoznať ako dátum, takže výsledok je PRAVDA.

Teraz tu prichádza ošemetná vec, ktorú urobíme len preto, že zmeníme krátku formu roka z 19 na 2019.

Kód:

Sub IsDate_Example1 () Dim MyDate ako reťazec MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Teraz spustite kód a uvidíte výsledok.

Tentokrát vrátil výsledok ako FALSE, pretože časť dátumu „deň a mesiac“ je v krátkej forme, ale ročná časť je v úplnej podobe „RRRR“, takže ISDATE nedokáže rozpoznať, že má dátum, takže výsledok je NEPRAVDA.

Teraz sa pozrite na nižšie uvedený kód.

Kód:

Sub IsDate_Example1 () Dim MyDate ako reťazec MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

Spomenul som formát celého dňa a celého mesiaca pomocou 0. Spustíme kód a pozrieme si výsledok funkcie IsDate.

Tentokrát tiež pôjdeme a dostaneme výsledok ako FALSE .

Teraz zmeňte kód nasledovne.

Kód:

Sub IsDate_Example1 () Dim MyDate ako reťazec MyDate = "01.01.2019" MsgBox IsDate (MyDate) End Sub

Namiesto bodky (.) Ako oddeľovača sme ako oddeľovač zadali lomku (/). Teraz spustite kód a uvidíte výsledok.

Tentokrát sme dostali výsledok ako PRAVDA .

To je dôvod, prečo som vám povedal na začiatku článku, že „Dátum“ je citlivá vec.

Teraz urobím to, že zlúčim dátum a čas spoločne.

Kód:

Sub IsDate_Example1 () Dim MyDate ako reťazec MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub

Vyššie som pridal časovú časť „15:26:24“ pred dátumom. Teraz spustite kód a uvidíte výsledok.

Aj tentokrát sme dostali výsledok ako TRUE, pretože DATE & TIME v programe Excel sú rovnaké veci a ukladajú sa ako sériové čísla. Celé číslo predstavuje časovú časť a desatinné miesta predstavuje časovú časť.

Na čo je potrebné pamätať tu

  • IsDate vráti výsledok typu Boolean, tj. TRUE alebo FALSE.
  • IsDate je k dispozícii iba ako funkcia VBA.
  • Za dátum sa považujú iba platné formátované dátumy, inak sa bude považovať za textové hodnoty a vráti výsledok ako FALSE.

Zaujímavé články...