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 sablonEhhez 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 Data ” hibaü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 -
- VBA tömbök Excelben
- Útmutató a VBA számformátumhoz
- Útmutató a VBA-kereséshez
- Hogyan kell használni a VBA Do While Loop funkciót?