VBA IFERROR

Napisany kod wiele razy daje błąd, a szanse na wystąpienie błędu w złożonym błędzie są dość duże. Podobnie jak excel ma funkcję IFERROR, która jest używana tam, gdzie są szanse na błąd. IFERROR zmienia komunikat o błędzie na inne instrukcje tekstowe zgodnie z wymaganiami i definicjami użytkownika. Podobnie funkcja IFERROR VBA działa tak samo, jak funkcja IFERROR programu Excel. Zmienia komunikat o błędzie na zdefiniowany tekst przez użytkownika.

Ten błąd występuje najczęściej, gdy wykonujemy dowolną funkcję matematyczną lub gdy mapujemy dane w innym formacie. IFERROR obsługuje wiele błędów, niektóre z nich to:

# WARTOŚĆ !, # N / A, # DIV / 0 !, #REF !, #NUM !, #NULL! I #NAME?

Przykład 1

Teraz tę funkcję IFERROR można również zaimplementować w VBA. Teraz, aby porównać wyniki z Excela z VBA IFERROR, wstawimy kolumnę, w której zastosujemy instrukcję VBA IFERROR, jak pokazano poniżej.

Możesz pobrać ten szablon Excel VBA IFERROR tutaj - Szablon Excel VBA IFERROR

W tym celu bierzemy pod uwagę te same dane i wstawiamy inną kolumnę, w której wykonamy VBA IFERROR. Przejdź do okna VBA i wstaw nowy moduł z menu Wstaw, jak pokazano poniżej.

Teraz w nowo otwartym module napisz podkategorię o dowolnej nazwie. Podaliśmy tutaj nazwę funkcji operacyjnej, jak pokazano poniżej.

Kod:

 Sub VBA_IfError () End Sub 

Teraz za pomocą ActiveCell wybieramy pierwszą komórkę referencyjną, a następnie bezpośrednio używamy formuły IFERROR z komórką referencyjną (RC) -2 podzieloną przez -1 liczby komórek. Co oznacza, że ​​dzielimy komórkę A przez komórkę B w pierwszym argumencie. A w drugim argumencie napisz dowolne zdanie, które chcemy zamiast błędu. W tym przypadku użyjemy tego samego stanu, który widzieliśmy powyżej, tj. „Brak klasy produktu”.

Kod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Brak klasy produktu" ")" End Sub 

Teraz wybierz komórkę zakresu, która będzie naszym mianownikiem. Tutaj wybraliśmy komórkę C2.

Kod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = „= IFERROR (RC (-2) / RC (-1), „ „Brak klasy produktu” ”)„ Zakres („C2”). Wybierz End Sub 

Teraz przeciągnij formułę do komórek poniżej, w których musimy zastosować JEŻELI, dopóki tabela nie przyjmie wartości.

Kod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Brak klasy produktu" ")" Zakres ("C2"). Wybierz Selection.End (xlDown). Wybierz koniec Pod 

Teraz przejdź do ostatniej komórki kolumny za pomocą polecenia Range, gdzie musimy przeciągnąć formułę IFERROR. Tutaj nasz limit kończy się na komórce D6.

Kod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Brak klasy produktu" ")" Zakres ("C2"). Wybierz Selection.End (xlDown). Wybierz zakres („D6”) Wybierz End Sub 

Teraz, aby przeciągnąć zastosowany IFERROR w dół do wszystkich odpowiednich komórek, wybierz polecenie Zakres od komórki End (lub Last) do Up do zastosowanej komórki formuły według End (xlUp) w obszarze Range .

Kod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Brak klasy produktu" ")" Zakres ("C2"). Wybierz Selection.End (xlDown). Wybierz zakres („D6”). Wybierz zakres (wybór, wybór. Koniec (xlUp)). Wybierz koniec podrzędny 

Gdy wykonujemy Ctrl + D, aby przeciągnąć wartości komórek w górę do wszystkich wybranych komórek w programie Excel, tutaj w VBA, Selection.FillDown służy do wypełnienia tych samych wartości komórek we wszystkich wybranych komórkach.

Kod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Brak klasy produktu" ")" Zakres ("C2"). Wybierz Selection.End (xlDown). Wybierz zakres („D6”). Wybierz zakres (wybór, wybór. Koniec (xlUp)). Wybierz wybór. Wypełnienie End Sub 

To kończy kodowanie VBA IFERROR. Teraz uruchom pełny kod, klikając przycisk odtwarzania, jak pokazano na zrzucie ekranu.

Jak widać powyżej, w kolumnie D zaczynając od komórki 2 do 6 otrzymaliśmy nasze wyniki.

Istnieje inny format i sposób zastosowania IFERROR w VBA. W tym celu rozważymy inny zestaw danych, jak pokazano poniżej. Poniżej mamy dane dotyczące sprzedaży niektórych produktów w kolumnie A, a jakość sprzedanych w kolumnie B. Musimy zmapować te dane w komórce F2 w odniesieniu do typu produktu Laptop . Teraz dane w pierwszej tabeli mają nr N / A w komórce B3, a dla ilości laptopa wyprzedane, co oznacza, że ​​dane źródłowe zawierają błąd. A jeśli spojrzymy na dane z pierwszej tabeli do komórki F2, otrzymamy to samo # nie dotyczy.

W tym celu otwórz nowy moduł w VBA i napisz Podkategorię z nazwą wykonanej funkcji.

Kod:

 Sub VBA_IfError2 () End Sub 

Wybierz zakres, w którym musimy zobaczyć dane wyjściowe lub bezpośrednio aktywować tę komórkę za pomocą ActiveCell, a następnie wiersz poleceń dot (.), Jak pokazano poniżej.

Kod:

Teraz wybierz FormulaR1C1 z listy, która służy do wstawiania dowolnej funkcji programu Excel.

Teraz użyj tej samej formuły, co w funkcji Excela w VBA.

Kod:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (WYSZUKAJ.PIONOWO (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0))" "Błąd w Dane „”) „End Sub 

Teraz wybierz komórkę, w której musimy zobaczyć dane wyjściowe w zakresie. Tutaj wybraliśmy komórkę F3.

Kod:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (WYSZUKAJ.PIONOWO (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0))" "Błąd w Zakres danych „”) „(B8”) Wybierz End Sub 

Teraz skompiluj i uruchom pełny kod za pomocą klawisza F5 lub ręcznie i zobacz wynik, jak pokazano poniżej.

Jak widać na powyższym zrzucie ekranu, wyjście typu produktu Laptop, z pierwszej tabeli # Nie dotyczy, zawiera tekst błędu „ Błąd w danych ” zgodnie z definicją w kodzie VBA.

Plusy funkcji VBA IFERROR

  • Zastosowanie funkcji IFERROR przez VBA zajmuje niewiele czasu.
  • Wynik funkcji wstawiania Excela i kodowania VBA IFERROR, oba są takie same.
  • Możemy również sformatować lub wkleić specjalnie zastosowaną formułę, aby uniknąć dalszych problemów.

Wady funkcji VBA IFERROR

  • JEŻELI przy tej metodzie odwołanie do zakresu wybranej komórki może zostać zakłócone, ponieważ tabela ma ograniczone komórki.

Rzeczy do zapamiętania

  • Możemy nagrać makro i zmodyfikować nagrane kodowanie zgodnie z naszymi potrzebami.
  • Zawsze pamiętaj, aby zapisać plik jako Excel z włączoną obsługą makr, abyśmy mogli używać zastosowanego lub utworzonego makra wiele razy bez żadnych problemów.
  • Pamiętaj, aby pamiętać o skompilowaniu pełnego kodu przed zakończeniem funkcji komend. W ten sposób możemy uniknąć lub skorygować powstały błąd.
  • Możesz zastosować utworzony kod do przycisku lub karty i użyć go jednym kliknięciem. To najszybszy sposób na uruchomienie kodu.
  • Najlepszym sposobem uniknięcia zmian po uruchomieniu kodu jest wklejenie specjalnych pełnych komórek, aby nie było w nich żadnej formuły.

Polecane artykuły

Jest to przewodnik po funkcji Excel VBA IFERROR. Tutaj omawialiśmy, jak używać funkcji IFERROR w VBA wraz z kilkoma praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Tablice VBA w programie Excel
  2. Przewodnik po formacie liczb VBA
  3. Przewodnik po VBA Find
  4. Jak korzystać z VBA Do While Loop?

Kategoria: