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