Vba: jak używać isdate do sprawdzania, czy komórka jest datą


Możesz użyć funkcji IsDate w VBA, aby sprawdzić, czy dana komórka jest datą.

Funkcja ta zwróci True , jeśli wartość w danej komórce zostanie rozpoznana jako data.

W przeciwnym razie funkcja zwróci False .

Oto typowy sposób wykorzystania tej funkcji w praktyce:

 SubCheckDate ()
    
Dim i As Integer

For i = 1 To 9
    
    If IsDate(Range(" A " & i)) = True Then
        Range(" B " & i) = " Is a Date "
    Else
        Range(" B " & i) = " Is Not a Date "
    End If
Next i
    
End Sub

To konkretne makro sprawdzi, czy każda komórka w zakresie A1:A9 jest datą.

Jeśli komórka jest datą, wówczas w odpowiedniej komórce z zakresu B1:B9 zostanie zwrócona wartość „Is a date”.

Jeśli komórka nie jest datą, zamiast tego zostanie zwrócona wartość „Nie jest datą”.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak używać IsDate w VBA

Załóżmy, że w Excelu mamy następującą kolumnę wartości:

Załóżmy, że chcemy sprawdzić, czy każda komórka w kolumnie A jest datą.

W tym celu możemy utworzyć następujące makro:

 SubCheckDate ()
    
Dim i As Integer

For i = 1 To 9
    
    If IsDate(Range(" A " & i)) = True Then
        Range(" B " & i) = " Is a Date "
    Else
        Range(" B " & i) = " Is Not a Date "
    End If
Next i
    
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumna B informuje nas, czy każda pasująca komórka w kolumnie A jest rozpoznawana jako data.

Pamiętaj, że zdecydowaliśmy się zwrócić „Jest datą” lub „Nie jest datą”, ale możesz zwrócić cokolwiek chcesz, korzystając z instrukcji If Else .

Uwaga : Pełną dokumentację funkcji VBA IsDate można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak uzyskać nazwę miesiąca z daty
VBA: jak korzystać z funkcji DateValue
VBA: Liczba większa niż data

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *