VBA IsDate | Jak používat funkci Excel VBA IsDate?

Funkce Excel VBA IsDate

IsDate je funkce VBA, která testuje, zda je daná hodnota datem nebo ne. Pokud je zadaná hodnota nebo referenční hodnota rozsahu datová hodnota, dostaneme výsledek jako „PRAVDA“, pokud hodnota není datová hodnota, dostaneme výsledek jako „NEPRAVDA“. Výsledkem je tedy hodnota BOOLEAN, tj. Buď PRAVDA nebo NEPRAVDA.

Níže je syntaxe funkce IsDate.

Výraz není nic jiného než hodnota, kterou se snažíme otestovat, zda je datum nebo ne.

Jak používat funkci VBA IsDate?

Tuto šablonu VBA IsDate Excel si můžete stáhnout zde - Šablona VBA IsDate Excel

Budeme testovat, zda je hodnota „5.01.19“ hodnotou data nebo ne.

Pro toto první spuštění procedury makra aplikace Excel.

Kód:

 Sub IsDate_Example1 () End Sub 

Definujte proměnnou pro uložení hodnoty data a protože bude mít hodnotu data, přiřaďte datový typ pouze jako „Datum“.

Kód:

 Sub IsDate_Example1 () Dim MyDate jako datum ukončení Sub 

Nyní přiřaďte hodnotu „5.1.19“ proměnné „MyDate“.

Kód:

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

Nyní otevřete schránku zpráv ve VBA

Kód:

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

V tomto okně se zprávou pomocí funkce „IsDate“ otestujeme, zda je dodaná hodnota data do proměnné „MyDate“ datum nebo ne. Nejprve otevřete funkci „IsDate“.

Kód:

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

Výraz je hodnota, kterou testujeme, abychom zjistili, zda je to Datum nebo ne. Protože jsme již uložili hodnotu do proměnné „MyDate“, zadejte pouze název proměnné.

Kód:

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

Dobře, teď spusťte kód a podívejte se, co dostaneme do zprávy.

Páni!!! Výsledek je PRAVDA .

Určitě vás zajímá, jak jako datum rozpoznala hodnotu „5.1.19“.

Důvod, proč vrátil výsledek jako PRAVDA, protože když se podíváte na danou hodnotu „5.1.19“, jedná se o krátkou formu data „05.01.2019“, takže excel je dostatečně brilantní, aby jej rozpoznal jako datum, takže výsledek je pravda.

Teď tu přichází ošemetná věc, pro stejnou hodnotu, kterou uděláme, změníme krátkou formu roku z 19 na 2019.

Kód:

 Sub IsDate_Example1 () Dim MyDate jako řetězec MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub 

Nyní spusťte kód a podívejte se na výsledek.

Tentokrát vrátil výsledek jako FALSE, protože část data „den a měsíc“ je v krátké formě, ale část roku je v plné podobě „RRRR“, takže ISDATE nemůže rozpoznat, že má datum, takže výsledek je NEPRAVDA.

Nyní se podívejte na níže uvedený kód.

Kód:

 Sub IsDate_Example1 () Dim MyDate jako řetězec MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub 

Zmínil jsem celý den a formát celého měsíce pomocí 0, spustíme kód a uvidíme výsledek funkce IsDate.

Tentokrát také jsme dostali výsledek jako FALSE .

Nyní změňte kód následujícím způsobem.

Kód:

 Sub IsDate_Example1 () Dim MyDate jako řetězec MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub 

Místo tečky (.) Jako oddělovače jsme jako oddělovač zadali lomítko (/). Nyní spusťte kód a podívejte se na výsledek.

Tentokrát jsme dostali výsledek jako PRAVDA .

To je důvod, proč jsem vám na začátku článku řekl, že „Datum“ je citlivá věc.

Teď udělám to, že sloučím datum a čas společně.

Kód:

 Sub IsDate_Example1 () Dim MyDate jako řetězec MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub 

Co jsem přidal výše, je časová část „15:26:24“ před datem. Nyní spusťte kód a podívejte se na výsledek.

I tentokrát jsme dostali výsledek jako TRUE, protože DATE & TIME v aplikaci Excel jsou stejné věci a jsou uloženy jako pořadová čísla. Celé číslo představuje část data a desetinná místa představuje část času.

Na co si pamatovat zde

  • IsDate vrací výsledek typu Boolean, tj. Buď TRUE, nebo FALSE.
  • IsDate je k dispozici pouze jako funkce VBA.
  • Jako datum jsou považována pouze platná formátovaná data, jinak bude považována za textové hodnoty a vrátí výsledek jako FALSE.