Jak używać isna w vba (z przykładami)
Możesz użyć metody IsNA w VBA, aby sprawdzić, czy dana komórka zawiera #N/A , czy nie.
Ta funkcja zwróci wartość PRAWDA , jeśli komórka zawiera #N/A lub FAŁSZ , w przeciwnym razie.
Oto powszechny sposób wykorzystania tej metody w praktyce:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
To konkretne makro sprawdzi, czy każda komórka w zakresie A2:A10 zawiera #N/A , czy nie.
Jeśli komórka zawiera #N/A , wówczas w odpowiedniej komórce w zakresie B2:B10 zostanie zwrócona wartość PRAWDA .
W przeciwnym razie zwrócona zostanie wartość FAŁSZ .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak używać IsNA 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 zawiera #N/A , czy nie.
W tym celu możemy utworzyć następujące makro:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
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 równa #N/A .
Należy pamiętać, że puste komórki to nie to samo, co #N/A . W przypadku napotkania pustej komórki metoda IsNA zwraca FALSE .
Pamiętaj też, że możesz użyć instrukcji If do zwrócenia wartości innych niż PRAWDA i FAŁSZ .
Na przykład moglibyśmy utworzyć następujące makro:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
If WorksheetFunction.IsNA(Range("A" & i)) Then
Range("B" & i) = "Cell Contains #N/A"
Else
Range("B" & i) = "Cell Does Not Contain #N/A"
End If
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Kolumna B zawiera teraz konkretny tekst, który informuje nas, czy odpowiadająca komórka w kolumnie A zawiera #N/A .
Uwaga : Pełną dokumentację metody VBA IsNA 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