VBA IFERROR

Az írott kód sokszor megadja a hibát, és a komplex hiba hibájának valószínűsége meglehetősen magas. Mint az excelnek, van IFERROR funkciója, amelyet akkor használnak, ha van esély hibára. Az IFERROR módosítja a hibaüzenetet más szöveges nyilatkozatokra, a felhasználó igényei szerint és meghatározása szerint. Hasonlóképpen, a VBA IFERROR ugyanúgy működik, mint az Excel IFERROR funkciója. Megváltoztatja a hibaüzenetet a felhasználó által meghatározott szövegre.

Ez a hiba többnyire akkor fordul elő, ha bármilyen matematikai funkciót hajtunk végre, vagy ha más formátumú adatokat leképezünk. Az IFERROR számos hibát kezel, ezek közül néhányat:

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

1. példa

Most ez az IFERROR funkció a VBA-ban is megvalósítható. Most, hogy összehasonlítsuk az Excel és a VBA IFERROR eredményeit, beillesztünk egy oszlopot, ahol a VBA IFERROR utasítást alkalmazzuk az alábbiak szerint.

Itt letöltheti ezt a VBA IFERROR Excel sablont - VBA IFERROR Excel sablon

Ehhez ugyanazokat az adatokat vesszük figyelembe, és beillesztünk egy másik oszlopot, ahol elvégzzük a VBA IFERROR-t. Lépjen a VBA ablakba, és helyezze be az új modulot a Beszúrás menüből, az alább látható módon.

Most az újonnan megnyílt modulban írjon be alkategóriát bármilyen névvel. Itt adtuk a működési funkció nevét, az alább látható módon.

Kód:

 Sub VBA_IfError () Sub 

Most az ActiveCell segítségével kiválasztjuk az első referenciacellát, majd közvetlenül használjuk az IFERROR Formula referenciacellával (RC) -2 osztva -1 sejtszámmal. Ami azt jelenti, hogy az A cellát osztjuk a B cellával az első argumentumban. És a második argumentumban írjon be minden olyan állítást, amelyet hiba helyett akarunk. Itt ugyanazt az állapotot fogjuk használni, mint amit fentebb láthattunk, azaz „Nincs termékosztály”.

Kód:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nincs termékosztály" ")" Sub vége 

Most válassza ki a tartománysejtet, amely a mi nevezőnk lenne. Itt a C2 cellát választottuk.

Kód:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nincs termékkategória" ")" tartomány ("C2"). Válassza az Alsó vége parancsot 

Most húzzuk a képletet a cellák alá, ahol IFERROR-t kell alkalmaznunk, amíg a táblázat meg nem adja az értékeket.

Kód:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nincs termékkategória" ")" Tartomány ("C2"). Válassza a Selection.End (xlDown) menüpontot. Alatti 

Most az oszlop utolsó cellájához kell jönnünk a Range parancs segítségével, ahol húznunk kell az IFERROR képletet. Itt a határérték a D6 cellán ér véget.

Kód:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nincs termékkategória" ")" Tartomány ("C2"). Válassza a Selection.End (xlDown) menüpontot. ("D6"). Válassza a Befejezés alpontot 

Most húzza le az alkalmazott IFERROR-t az összes alkalmazható cellára. Válassza ki a Tartomány a Vége (vagy Utolsó) cellától az Alkalmazott képletcelláig az End (xlUp) parancsot.

Kód:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nincs termékkategória" ")" Tartomány ("C2"). Válassza a Selection.End (xlDown) menüpontot. ("D6"). Válassza ki a Range (Selection, Selection.End (xlUp)) menüpontot. 

Mivel a Ctrl + D billentyűkombinációval húzzuk a felső cellákat az összes kiválasztott cellába az excel formátumban, itt a VBA-ban a Selection.FillDown arra szolgál, hogy ugyanazokat a cellák értékeket töltse ki az összes kijelölt cellában.

Kód:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nincs termékkategória" ")" Tartomány ("C2"). Válassza a Selection.End (xlDown) menüpontot. ("D6"). Válasszon tartományt (Selection, Selection.End (xlUp)). Válassza ki a Selection.FillDown End Sub 

Ez befejezi a VBA IFERROR kódolását. Most futtassa a teljes kódot a lejátszás gombra kattintva, ahogyan az a képernyőképen látható.

Amint fentebb láthatjuk, a D oszlopban a 2.-6. Cellától kezdve megkaptuk az eredményeinket.

Van egy másik formátum és módszer az IFERROR alkalmazásához a VBA-ban. Ehhez megvizsgálunk egy másik adatkészletet, amint az alább látható. Az alábbiakban az A oszlopban szereplő egyes termékek eladási adatai és a B oszlopban értékesített minőségük szerepel. És ezeket az adatokat az F2 cellában kell feltérképezni, a Laptop terméktípusra hivatkozva. Az első táblázat adatai # N / A a B3 cellában, a Laptop mennyisége elfogyott, ami azt jelenti, hogy a forrás adatoknak is hibája van. És ha az első táblából az F2 cellába keressük az adatokat, akkor itt ugyanazok az adatok lesznek.

Ehhez nyisson meg egy új modult a VBA-ban, és írjon be alkategóriát egy végrehajtott függvény nevével.

Kód:

 Sub VBA_IfError2 () Sub 

Válassza ki azt a tartományt, ahol látnunk kell a kimenetet, vagy közvetlenül aktiválnunk ezt a cellát az ActiveCell segítségével, majd egy pont (.) Parancssorral, az alább látható módon.

Kód:

Most válassza ki a FormulaR1C1 -et a listából, amelyet bármilyen excel funkció beillesztésére használnak.

Most ugyanazt a képletet használja, mint amelyet a VBA excel funkciójában is használtak.

Kód:

 VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0)" "Hiba Adatok "") "Befejezés al 

Most válassza ki azt a cellát, ahol látnia kell a kimenetet a tartományban. Itt az F3 cellát választottuk.

Kód:

 VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0)" "Hiba Data "") "Range (" B8 "). Válassza az End Sub elemet 

Most fordítsa le és futtassa a teljes kódot az F5 billentyűvel vagy kézzel, és nézze meg az eredményt az alább látható módon.

Mint a fenti képernyőképen láthatjuk, a Laptop terméktípus kimenete az első # N / A táblázatból a VBA kódban szereplő „ Error In Datahibaüzenettel jelenik meg .

A VBA IFERROR funkció előnyei

  • Kevés időbe telik az IFERROR funkció VBA-n keresztüli alkalmazása.
  • Az Excel beszúrási funkció és a VBA IFERROR kódolás eredménye egyaránt.
  • A további problémák elkerülése érdekében formázhatjuk vagy beilleszthetjük az alkalmazott képletet is.

A VBA IFERROR funkció hátrányai

  • IFERROR ezzel a módszerrel zavarhatja a kiválasztott cella tartományának hivatkozását, mivel a táblázat korlátozott cellákkal rendelkezik.

Dolgok, amikre emlékezni kell

  • Felírhatjuk a makrót és módosíthatjuk a rögzített kódolást szükség szerint.
  • Mindig emlékezzen arra, hogy a fájlt Macro-Enabled Excel formátumban menti, hogy az alkalmazott vagy a létrehozott makrót bármilyen probléma nélkül felhasználhassuk.
  • A parancs funkció befejezése előtt mindenképpen emlékezzen a teljes kód lefordítására. Ezzel elkerülhetjük vagy kijavíthatjuk a felmerült hibákat.
  • A létrehozott kódot felhasználhatja egy gombra vagy fülre, és egyetlen kattintással felhasználhatja azt. A kód futtatásának ez a leggyorsabb módja.
  • A kód futtatása után bekövetkező változások elkerülésének legjobb módja az, ha a teljes cellákat speciálisan beillesztjük, hogy a cellában ne legyen semmilyen képlet.

Ajánlott cikkek

Ez egy útmutató az Excel VBA IFERROR Function programhoz. Itt megvitattuk, hogyan lehet az IFERROR függvényt használni a VBA-ban, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket is -

  1. VBA tömbök Excelben
  2. Útmutató a VBA számformátumhoz
  3. Útmutató a VBA-kereséshez
  4. Hogyan kell használni a VBA Do While Loop funkciót?

Kategória: