VBA IsDate - Hur använder jag Excel VBA IsDate-funktion?

Innehållsförteckning

Excel VBA IsDate-funktion

IsDate är VBA-funktionen som testar om det angivna värdet är datumet eller inte. Om det angivna värdet eller referensvärdet för intervallet är datumvärde får vi resultatet som “SANT”, om värdet inte är datumvärde får vi resultatet som “FALSE”. Så resultatet är BOOLEAN-värde, dvs antingen SANT eller FALSKT.

Nedan är syntaxen för IsDate-funktionen.

Uttrycket är inget annat än det värde som vi försöker testa, oavsett om det är datumet eller inte.

Hur använder jag VBA IsDate-funktionen?

Vi kommer att testa om värdet ”5.01.19” är ett datumvärde eller inte.

För denna första start, Excel-makroförfarandet.

Koda:

Sub IsDate_Example1 () Avsluta Sub

Definiera variabeln för att lagra datumvärdet, och eftersom värdet kommer att vara datumvärde, tilldela datatypen endast "Datum".

Koda:

Sub IsDate_Example1 () Dim MyDate as Date End Sub

Tilldela nu värdet "5.1.19" till variabeln "MyDate."

Koda:

Sub IsDate_Example1 () Dim MyDate as Date MyDate = "5.1.19" Avsluta sub

Öppna meddelanderutan i VBA nu.

Koda:

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

I denna meddelandefält kommer vi att testa om det angivna datumvärdet till variabeln “MyDate” är datumet eller inte med hjälp av funktionen “IsDate”. Öppna först “IsDate” -funktionen.

Koda:

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

Uttrycket är det värde vi testar för att hitta om det är Datum eller inte. Eftersom vi redan har lagrat värdet till variabeln "MyDate", ange endast variabelnamnet.

Koda:

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

Ok, kör nu koden och se vad vi får i meddelandefältet.

Wow!!! Resultatet är SANT .

Du måste undra hur det erkände värdet ”5.1.19” som datum.

Anledningen till att den har returnerat resultatet som SANT, för när man tittar på det givna värdet "5.1.19" är det den korta formen av datumet "05.01.2019", så excel är lysande nog för att känna igen det som datum, så resultatet är SANT.

Nu kommer det knepiga, för samma värde, vad vi kommer att göra är att vi kommer att ändra årets korta form från 19 till 2019.

Koda:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Kör nu koden och se resultatet.

Den här gången har det returnerat resultatet som FALSK eftersom "dag och månad" -delen av datumet är i kort form, men årsdelen är i full form av "ÅÅÅÅ", så ISDATE kan inte känna igen att det har ett datum, så resultatet är FALSK.

Titta nu på koden nedan.

Koda:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

Jag har nämnt ett format för hel dag och hel månad med hjälp av 0. Låt oss köra koden och se resultatet av IsDate-funktionen.

Den här gången fick vi också resultatet som FALSE .

Ändra nu koden enligt följande.

Koda:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub

I stället för punkten (.) Som separator har vi angett snedstreck (/) som separator. Kör nu koden och se resultatet.

Den här gången fick vi resultatet som SANT .

Det är anledningen till att jag har sagt till dig i början av artikeln att "Date" är en känslig sak.

Nu vad jag ska göra är att jag kommer att slå samman datum och tid tillsammans.

Koda:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub

Vad jag har lagt till ovan är tidsdelen av ”15:26:24” framför datumet. Kör nu koden och se resultatet.

Den här gången fick vi resultatet som SANT eftersom DATUM & TID i Excel är samma saker och lagras som serienummer. Hela siffran representerar datumdelen och decimaler representerar tidsdelen.

Saker att komma ihåg här

  • IsDate returnerar det booleska resultatet, dvs. antingen SANT eller FALSKT.
  • IsDate är endast tillgängligt som en VBA-funktion.
  • Endast giltiga formaterade datum behandlas som datumet, annars behandlas det som textvärden och returnerar resultatet som FALSKT.

Intressanta artiklar...