VBA IsDate - Jak korzystać z funkcji Excel VBA IsDate?

Spisie treści

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”. Tak więc wynikiem jest wartość 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 przetestować, niezależnie od tego, czy jest to data, czy nie.

Jak korzystać z funkcji VBA IsDate?

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

W tym pierwszym uruchomieniu procedura makro 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ż zapisaliśmy już 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ż patrząc 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 PRAWDA.

Teraz jest trudna sprawa, dla tej samej wartości, co zrobimy, to 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 jest w krótkiej formie, ale część dotycząca roku ma pełną formę „RRRR”, więc ISDATE nie może rozpoznać, że ma datę, więc wynik to 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 działania 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.

Również tym razem otrzymaliśmy wynik jako PRAWDA, ponieważ DATA I CZAS w programie Excel to te same rzeczy 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 FAŁSZ.

Interesujące artykuły...