Vba: jak używać isnumeric do sprawdzania, czy komórka jest liczbą
Możesz użyć funkcji IsNumeric w VBA, aby sprawdzić, czy dana komórka jest liczbą.
Funkcja ta zwróci True , jeśli wartość danej komórki zostanie rozpoznana jako liczba.
W przeciwnym razie funkcja zwróci False .
Oto typowy sposób wykorzystania tej funkcji w praktyce:
SubCheckNumeric ()
Dim i As Integer
For i = 1 To 9
If IsNumeric(Range(" A " & i)) = True Then
Range(" B " & i) = " Numeric Value "
Else
Range(" B " & i) = " Not a Numeric Value "
End If
Next i
End Sub
To konkretne makro sprawdzi, czy każda komórka w zakresie A1:A9 jest liczbą.
Jeśli komórka jest liczbą, wówczas „Wartość liczbowa” zostanie zwrócona w odpowiedniej komórce w zakresie B1:B9 .
Jeśli komórka nie jest liczbą, zamiast tego zostanie zwrócona informacja „To nie jest wartość liczbowa”.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak używać IsNumeric 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 liczbą.
W tym celu możemy utworzyć następujące makro:
SubCheckNumeric ()
Dim i As Integer
For i = 1 To 9
If IsNumeric(Range(" A " & i)) = True Then
Range(" B " & i) = " Numeric Value "
Else
Range(" B " & i) = " Not a Numeric Value "
End If
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Kolumna B wyświetla wynik, który informuje nas, czy każda pasująca komórka w kolumnie A jest rozpoznawana jako liczba.
Oto kilka interesujących rzeczy, na które warto zwrócić uwagę w wyniku:
- Liczby z miejscami dziesiętnymi są uznawane za liczby.
- Procenty są uznawane za liczby.
- Daty nie są rozpoznawane jako liczby.
- Teksty zawierające liczby nie są rozpoznawane jako liczby.
Uwaga : Pełną dokumentację funkcji VBA IsNumeric można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
Jak przekonwertować ciąg na int w VBA
Jak przekonwertować ciąg na podwójny w VBA
Jak sprawdzić, czy ciąg zawiera inny ciąg w VBA