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, ať už jde o datum nebo ne.

Jak používat funkci VBA IsDate?

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

Pro tento první start je procedura 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 aplikace Excel je dostatečně brilantní, aby ji rozpoznala jako datum, takže výsledek je PRAVDA.

Teď přichází ošemetná věc, pro stejnou hodnotu, co uděláme, je změna krátké podoby 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 FALSE.

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 jsme také 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 PRAVDA, 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.

Zajímavé články...