VBA IFERROR

Pisani kod mnogo puta daje grešku, a šanse za dobivanje pogreške u složenoj pogrešci su prilično visoke. Kao i excel ima funkciju IFERROR koja se koristi tamo gdje postoje šanse za pogrešku. IFERROR mijenja poruku o pogrešci u druge tekstualne izjave prema potrebi i definira ih korisnik. Slično tome, VBA IFERROR funkcionira isto kao i IFERROR funkcija Excela. Korisnik mijenja poruku o pogrešci u definirani tekst.

Ova se pogreška uglavnom događa kada izvodimo bilo koju matematičku funkciju ili ako mapiramo bilo koje podatke koji su u drugom formatu. IFERROR obrađuje mnoge pogreške, neke od njih su:

# VALUE !, # N / A, # DIV / 0 !, #REF !, #NUM !, #NULL! I #NAME?

Primjer 1

Ova funkcija IFERROR sada se može implementirati i u VBA. Sada za usporedbu rezultata iz Excela s VBA IFERROR-om umetnut ćemo stupac u koji ćemo primijeniti VBA IFERROR izjavu kao što je prikazano u nastavku.

Ovaj VBA IFERROR Excel predložak možete preuzeti ovdje - VBA IFERROR Excel predložak

Za to smatramo iste podatke i umetnemo drugi stupac u kojem ćemo izvesti VBA IFERROR. Idite na prozor VBA i umetnite novi modul iz izbornika Umetanje, kao što je prikazano u nastavku.

Sada u novootvoreni modul napišite podkategoriju s bilo kojim nazivom. Ovdje smo dali ime operativne funkcije kao što je prikazano u nastavku.

Kodirati:

 Sub VBA_IfError () Kraj Sub 

Sada ćemo uz pomoć ActiveCell-a odabrati prvu referentnu ćeliju i izravno koristiti IFERROR Formulu s referentnom ćelijom (RC) -2 podijeljenom s -1 brojem ćelija. Što znači da u prvom argumentu dijelimo ćeliju A na ćeliju B. I u drugom argumentu napišite bilo koju izjavu koju želimo umjesto pogreške. Ovdje ćemo upotrijebiti isto stanje koje smo vidjeli gore, tj. "Nema klase proizvoda".

Kodirati:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nema klase proizvoda" ")" Kraj sub 

Sada odaberite ćeliju raspona koja bi bila naš nazivnik. Ovdje smo odabrali ćeliju C2.

Kodirati:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Nema klase proizvoda "") "Raspon (" C2 "). Odaberite Kraj Sub 

Sada povucimo formulu u ćelije ispod kojih moramo primijeniti IFERROR dok tablica ne dobije vrijednosti.

Kodirati:

 Pod VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Nema klase proizvoda "") "Raspon (" C2 "). Odaberite Selection.End (xlDown) .Izberite kraj Pod 

Sada da dođemo do posljednje ćelije stupca uz pomoć naredbe Range gdje trebamo povući IFERROR formulu. Ovdje naša granica završava na ćeliji D6.

Kodirati:

 Pod VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Nema klase proizvoda "") "Raspon (" C2 "). Odaberite Selection.End (xlDown) ("D6") Odaberite End Sub 

Sada za povlačenje primijenjenog IFERRORA prema dolje na sve primjenjive ćelije odaberite raspon od krajnje (ili posljednje) ćelije do gore do primijenjene ćelije formule pomoću kraja (xlUp) pod opsegom .

Kodirati:

 Pod VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Nema klase proizvoda "") "Raspon (" C2 "). Odaberite Selection.End (xlDown) ("D6"). Odaberite raspon (izbor, odabir. Kraj (xlUp)). 

Dok radimo Ctrl + D za povlačenje gornjih vrijednosti ćelija do svih odabranih ćelija u excelu, ovdje se u VBA, Selection.FillDown koristi za popunjavanje istih vrijednosti stanica u svim odabranim ćelijama.

Kodirati:

 Pod VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Nema klase proizvoda "") "Raspon (" C2 "). Odaberite Selection.End (xlDown) ("D6"). Odaberite raspon (izbor, odabir. Kraj (xlUp)). Odaberite odabir. Popunite kraj završetka 

Time se dovršava kodiranje VBA IFERROR-a. Sada pokrenite kompletni kôd klikom na gumb za reprodukciju kao što je prikazano na snimci zaslona.

Kao što vidimo gore, u stupcu D počevši od ćelije 2 do 6 dobili smo svoje rezultate.

Postoji još jedan format i način primjene IFERROR-a u VBA. Zbog toga ćemo razmotriti još jedan niz podataka kao što je prikazano u nastavku. Ispod imamo podatke o prodaji nekih proizvoda u stupcu A i kvaliteti koji se prodaju u stupcu B. A ove podatke trebamo preslikati u ćeliju F2 s obzirom na tip proizvoda Laptop . Sada podaci u prvoj tablici imaju # N / A u ćeliji B3 s za količinu prijenosnog računala rasprodanog, što znači da i sami izvorni podaci imaju grešku. A ako potražimo podatke iz prve tablice u Cell F2, ovdje ćemo dobiti isti # N / A.

Otvorite novi modul u VBA i napišite podkategoriju s nazivom izvršene funkcije.

Kodirati:

 Sub VBA_IfError2 () Kraj Sub 

Odaberite raspon u kojem trebamo vidjeti izlaz ili izravno aktivirati tu ćeliju pomoću ActiveCell-a, a zatim naredbenog retka dot (.) Kao što je prikazano u nastavku.

Kodirati:

Sada s FormuleR1C1 odaberite s popisa koji se koristi za umetanje bilo koje excel funkcije.

Sada koristite istu formulu koja je korištena i u excel funkciji u VBA.

Kodirati:

 Pod VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0), " "Greška u Podaci "") "Kraj sub 

Sada odaberite ćeliju u kojoj trebamo vidjeti izlaz u dometu. Ovdje smo odabrali ćeliju F3.

Kodirati:

 Pod VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0), " "Greška u Podatci "") "Raspon (" B8 "). Odaberite Kraj Sub 

Sada sastavite i pokrenite kompletni kôd pomoću tipke F5 ili ručno i pogledajte rezultat kao što je prikazano u nastavku.

Kao što vidimo na gornjem snimku zaslona, ​​izlaz vrste prijenosnog računala iz prve tablice # N / A nalazi se s tekstom pogreške " Pogreška u podacima " kako je definirano u VBA kodu.

Prednosti funkcije VBA IFERROR

  • Malo je vremena za primjenu funkcije IFERROR putem VBA.
  • Rezultat Excel funkcije umetanja i VBA IFERROR kodiranja, obje su iste.
  • Primjenjujuću formulu možemo formatirati ili zalijepiti posebnom kako bismo izbjegli daljnje probleme.

Slabosti funkcije VBA IFERROR

  • IFERROR ovom metodom referenciranje raspona odabrane ćelije može biti uznemiren jer tablica ima ograničene ćelije.

Stvari koje treba zapamtiti

  • Možemo snimiti makro i mijenjati snimljeno kodiranje prema našim potrebama.
  • Uvijek zapamtite da datoteku spremite kao Macro-omogućen Excel, tako da možemo primijeniti ili stvoriti makronaredbu više puta bez ikakvog problema.
  • Obavezno sastavite kompletan kod prije prestanka naredbene funkcije. Ovim putem možemo izbjeći ili ispraviti bilo kakve nastale pogreške.
  • Možete stvoriti stvoreni kod na gumb ili karticu i koristiti ga jednim klikom. Ovo je najbrži način za pokretanje koda.
  • Najbolji način da izbjegnete bilo kakve promjene nakon pokretanja koda je zalijepiti posebne cjelovite ćelije kako ne bi bilo nikakve formule u ćeliju.

Preporučeni članci

Ovo je vodič za Excel VBA funkciju IFERROR. Ovdje smo raspravljali o tome kako koristiti IFERROR funkciju u VBA zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati ostale naše predložene članke -

  1. VBA nizovi u Excelu
  2. Vodič za format brojeva VBA
  3. Vodič za pronalaženje VBA
  4. Kako se koristi VBA Do Tijekom petlje?

Kategorija: