VBA IFERROR

Un cod scris de multe ori eroarea și șansele de a obține o eroare în eroare complexă sunt destul de mari. Asemenea excel are funcția IFERROR, care este folosită acolo unde există șanse de eroare. IFERROR schimbă mesajul de eroare în alte declarații text, așa cum este necesar și definit de utilizator. În mod similar, VBA IFERROR funcționează la fel ca funcția IFERROR din Excel. Modifică mesajul de eroare în textul definit de utilizator.

Această eroare apare mai ales când efectuăm orice funcție matematică sau dacă mapăm date care sunt într-un format diferit. IFERROR gestionează multe erori, dintre care unele sunt:

#VALUE !, # N / A, # DIV / 0 !, #REF !, #NUM!, # NULL! Și # NUME?

Exemplul # 1

Acum această funcție IFERROR poate fi implementată și în VBA. Acum, pentru a compara rezultatele de la Excel cu VBA IFERROR, vom introduce o coloană în care vom aplica instrucțiunea VBA IFERROR, așa cum se arată mai jos.

Puteți descărca acest șablon VBA IFERROR Excel aici - șablonul VBA IFERROR Excel

Pentru aceasta, avem în vedere aceleași date și introducem o altă coloană în care vom efectua VBA IFERROR. Accesați fereastra VBA și introduceți un nou modul din meniul Insert, așa cum se arată mai jos.

Acum, într-un modul recent deschis, scrie Sub-categorie cu orice nume. Aici am dat numele funcției de operare așa cum se arată mai jos.

Cod:

 Sub VBA_IfError () End Sub 

Acum, cu ActiveCell, vom selecta prima celulă de referință și apoi vom folosi direct Formula IFERROR cu celula de referință (RC) -2 divizată la -1 numere de celule. Ceea ce înseamnă că împărțim celula A la celula B în primul argument. Și în al doilea argument scrieți orice afirmație pe care o dorim în loc de eroare. Aici vom folosi aceeași stare pe care am văzut-o mai sus, adică „Fără clasa de produse”.

Cod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1)", "Nu există clasa de produs" ")" 

Selectați acum celula interval care ar fi numitorul nostru. Aici am selectat celula C2.

Cod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nu există clasa de produs" ")" Gama ("C2"). 

Acum, trageți formula în celulele de mai jos unde trebuie să aplicăm IFERROR până când tabelul are valorile.

Cod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Fără categorie de produse" ")" Gama ("C2"). Selectați Selecție.End (xlDown). Sub 

Acum, pentru a veni la ultima celulă a coloanei cu ajutorul Range de comandă unde trebuie să tragem formula IFERROR. Aici limita noastră se termină la celula D6.

Cod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nu există clasa de produs" ")" Gama ("C2"). Selectați Selecție.End (xlDown). ("D6"). Selectați End Sub 

Acum, pentru a trage IFERROR aplicat în toate celulele aplicabile, selectați intervalul de la celula End (sau Last) până la celula de formulă aplicată prin comanda End (xlUp) sub Range .

Cod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nu există clasa de produs" ")" Gama ("C2"). Selectați Selecție.End (xlDown). ("D6"). Selectați intervalul (Selecție, Selecție.End (xlUp)). 

Așa cum facem Ctrl + D pentru a trage valorile celulelor în sus la toate celulele selectate în excel, aici în VBA, Selection.FillDown este utilizat pentru a umple aceleași valori de celule în toate celulele selectate.

Cod:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nu există clasa de produs" ")" Gama ("C2"). Selectați Selecție.End (xlDown). ("D6"). Selectați Interval (Selecție, Selecție.End (xlUp)). Selectați Selecție.FillDown End Sub 

Aceasta completează codarea VBA IFERROR. Acum rulați codul complet făcând clic pe butonul de redare, așa cum se arată în imaginea de mai jos.

După cum putem vedea mai sus, în coloana D începând de la celula 2 până la 6 am obținut rezultatele noastre.

Există un alt format și o modalitate de a aplica IFERROR în VBA. Pentru aceasta, vom lua în considerare un alt set de date așa cum se arată mai jos. Mai jos avem date de vânzări ale unor produse din coloana A și a calității vândute în coloana B. Și trebuie să mapăm aceste date la celula F2 cu referire la tipul de produs Laptop . Acum, datele din primul tabel au # N / A în celula B3 cu cantitatea de laptop vândută, ceea ce înseamnă că datele sursă în sine au o eroare. Și dacă vom căuta datele de la primul tabel la celula F2, vom obține același # N / A aici.

Pentru aceasta deschideți un nou modul în VBA și scrieți Subcategoria cu numele unei funcții îndeplinite.

Cod:

 Sub VBA_IfError2 () End Sub 

Selectați intervalul în care trebuie să vedem ieșirea sau să activăm direct acea celulă de ActiveCell urmată de linia de comandă punct (.), Așa cum se arată mai jos.

Cod:

Acum selectați FormulaR1C1 din lista utilizată pentru inserarea oricărei funcții Excel.

Acum folosiți aceeași formulă folosită și în funcția excel în VBA.

Cod:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0)", "Eroare în Date "") "End Sub 

Selectați acum celula în care trebuie să vedem ieșirea în interval. Aici am selectat celula F3.

Cod:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0)", "Eroare în Date "") "Interval (" B8 "). Selectați End Sub 

Acum compilați și rulați codul complet folosind tasta F5 sau manual și vedeți rezultatul așa cum se arată mai jos.

După cum putem vedea în ecranul de mai sus, ieșirea tipului de produs Laptop, din primul tabel # N / A este cu textul de eroare „ Error In Data ”, așa cum este definit în codul VBA.

Beneficiile funcției VBA IFERROR

  • Este nevoie de puțin timp pentru a aplica funcția IFERROR prin VBA.
  • Rezultatul funcției de introducere Excel și codificarea VBA IFERROR, ambele sunt aceleași.
  • Putem să formatați și să lipiți special formula aplicată, pentru a evita orice problemă suplimentară.

Contra funcției VBA IFERROR

  • IFERROR cu această metodă, referirea la intervalul de celule selectate poate fi deranjat deoarece tabelul are celule limitate.

Lucruri de amintit

  • Putem înregistra macro-ul și modifica codificarea înregistrată conform nevoilor noastre.
  • Amintiți-vă întotdeauna să salvați fișierul ca Excel Macro-Enabled, astfel încât să putem utiliza macro-ul aplicat sau creat de mai multe ori fără nici o problemă.
  • Asigurați-vă că vă amintiți să compilați codul complet înainte de a încheia funcția de comandă. Prin aceasta, putem evita sau corecta orice eroare apărută.
  • Puteți aplica codul creat într-un buton sau filă și îl puteți utiliza printr-un singur clic. Acesta este cel mai rapid mod de a rula codul.
  • Cel mai bun mod de a evita orice modificare după rularea codului este de a lipi celule complete, astfel încât să nu existe o formulă în celulă.

Articole recomandate

Acesta a fost un ghid pentru funcția Excel VBA IFERROR Excel. Aici am discutat despre cum să utilizăm funcția IFERROR în VBA împreună cu câteva exemple practice și șablonul excel descărcabil. Puteți parcurge și alte articole propuse -

  1. Arhiere VBA în Excel
  2. Ghid pentru formatul numerelor VBA
  3. Ghid pentru Găsirea VBA
  4. Cum se utilizează VBA în timp ce buclă?

Categorie: