Jak używać iferror w vba (z przykładami)
Aby użyć funkcji JEŻELI w języku VBA w celu wyświetlenia określonej wartości w komórce, jeśli w formule programu Excel wystąpi błąd, można zastosować następującą podstawową składnię:
SubIfError ()
Dim i As Integer
For i = 2 To 11
Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
Next i
End Sub
Ten konkretny przykład sprawdza, czy każda komórka w wierszach od 2 do 11 trzeciej kolumny bieżącego arkusza ma wartość błędu.
W przypadku napotkania wartości błędu do odpowiedniej komórki w czwartej kolumnie zostaje przypisana wartość „Błąd formuły”, w przeciwnym razie wartość liczbowa z trzeciej kolumny zostaje przypisana do odpowiedniej wartości w czwartej kolumnie.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak używać IFERROR w VBA
Załóżmy, że mamy w Excelu następujący zestaw danych, który pokazuje całkowite przychody i jednostki sprzedane produktu w różnych sklepach:
W kolumnie C zastosowano wzór umożliwiający podzielenie przychodów przez sprzedane jednostki w celu uzyskania przychodu na jednostkę.
Należy jednak pamiętać, że formuła generuje wartość #DIV/0! w niektórych komórkach, w których próbujemy dzielić przez zero.
Załóżmy, że chcemy utworzyć nową kolumnę, która zamiast tego będzie wyświetlać „Błąd formuły” dla tych komórek.
W tym celu możemy utworzyć następujące makro:
SubIfError ()
Dim i As Integer
For i = 2 To 11
Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Wartości w kolumnie D wyświetlają albo wyniki formuły w kolumnie C, albo wartość „Błąd formuły”, jeśli wyświetlana jest wartość błędu.
Możesz zmienić „Błąd formuły” w metodzie IfError w kodzie, aby zamiast tego wyświetlać żądaną wartość w przypadku napotkania błędu.
Uwaga : Pełną dokumentację metody VBA IfError można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak używać JEŻELI LUB do testowania wielu warunków
VBA: Jak używać JEŻELI ORAZ do testowania wielu warunków
VBA: Jak używać JEŚLI NIE, aby sprawdzić, czy warunek nie jest spełniony