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

Dodaj komentarz

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