Funkcja VBA IsDate

Funkcja Excel VBA IsDate

IsDate to funkcja VBA, która sprawdza, czy podana wartość jest datą, czy nie. Jeśli podana wartość lub wartość odniesienia zakresu jest wartością daty, otrzymamy wynik jako „PRAWDA”, jeśli wartość nie jest wartością daty, otrzymamy wynik jako „FAŁSZ”. Zatem wynik jest wartością BOOLEAN, tj. PRAWDA lub FAŁSZ.

Poniżej znajduje się składnia funkcji IsDate.

Wyrażenie to nic innego jak wartość, którą próbujemy sprawdzić, czy jest to data, czy nie.

Jak korzystać z funkcji VBA IsDate?

Możesz pobrać ten szablon VBA IsDate Excel tutaj - Szablon VBA IsDate Excel

Sprawdzimy, czy wartość „5.01.19” jest wartością daty, czy nie.

W tym celu najpierw uruchom procedurę makra programu Excel.

Kod:

 Sub IsDate_Example1 () End Sub 

Zdefiniuj zmienną do przechowywania wartości daty, a ponieważ wartość będzie wartością daty, przypisz typ danych tylko jako „Data”.

Kod:

 Sub IsDate_Example1 () Dim MyDate As Date End Sub 

Teraz przypisz wartość „5.1.19” do zmiennej „MyDate”.

Kod:

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

Otwórz teraz okno komunikatu w VBA

Kod:

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

W tym oknie komunikatu sprawdzimy, czy wartość daty podana w zmiennej „MyDate” jest datą, czy nie, za pomocą funkcji „IsDate”. Najpierw otwórz funkcję „IsDate”.

Kod:

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

Wyrażenie to wartość, którą testujemy, aby ustalić, czy jest to data, czy nie. Ponieważ już zapisaliśmy wartość w zmiennej „MyDate”, podaj tylko nazwę zmiennej.

Kod:

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

Ok, teraz uruchom kod i zobacz, co otrzymamy w oknie komunikatu.

Łał!!! Wynik jest PRAWDA .

Pewnie się zastanawiasz, jak rozpoznał on wartość „5.1.19” jako datę.

Powód, dla którego zwrócił wynik jako PRAWDA, ponieważ gdy spojrzysz na podaną wartość „5.1.19” , jest to krótka forma daty „05.01.2019”, więc program excel jest na tyle genialny, że rozpoznaje go jako datę, więc wynik jest prawdziwy.

Teraz jest trudna sprawa, ponieważ z tej samej wartości, co zrobimy, zmienimy krótką formę roku z 19 na 2019.

Kod:

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

Teraz uruchom kod i zobacz wynik.

Tym razem zwrócił wynik jako FAŁSZ, ponieważ część „dzień i miesiąc” daty ma postać krótką, ale część roku ma pełną formę „RRRR”, więc ISDATE nie może rozpoznać, że ma datę, więc wynik jest FAŁSZ.

Teraz spójrz na poniższy kod.

Kod:

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

Wspomniałem o formacie pełnego dnia i miesiąca, używając 0, uruchommy kod i zobaczmy wynik funkcji IsDate.

Tym razem również otrzymaliśmy wynik FAŁSZ .

Teraz zmień kod w następujący sposób.

Kod:

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

Zamiast kropki (.) Jako separatora, wprowadziliśmy ukośnik (/) jako separator. Teraz uruchom kod i zobacz wynik.

Tym razem otrzymaliśmy wynik jako PRAWDA .

To jest powód, dla którego powiedziałem Ci na początku artykułu, że „Data” to delikatna sprawa.

Teraz połączę razem datę i godzinę.

Kod:

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

To, co dodałem powyżej, to część godziny „15:26:24” przed datą. Teraz uruchom kod i zobacz wynik.

Tym razem również otrzymaliśmy wynik jako PRAWDA, ponieważ DATA I CZAS w programie Excel są tym samym i są przechowywane jako numery seryjne. Liczba całkowita reprezentuje część datową, a miejsca dziesiętne - część czasową.

O czym należy pamiętać

  • IsDate zwraca wynik typu Boolean, tj. TRUE lub FALSE.
  • IsDate jest dostępna tylko jako funkcja VBA.
  • Tylko poprawne sformatowane daty są traktowane jako data, w przeciwnym razie będą traktowane jako wartości tekstowe i zwróci wynik jako FALSE.