VBA IFERROR
Kirjallinen koodi antaa monta kertaa virheen, ja todennäköisyys virheestä monimutkaisessa virheessä on melko korkea. Kuten excelillä, on IFERROR-toiminto, jota käytetään, jos on mahdollista saada virhe. IFERROR muuttaa virheilmoituksen muihin käyttäjän lausunnon määrittelemiin tekstiin. Samoin VBA IFERROR toimii samalla tavalla kuin Excelin IFERROR-toiminto. Se muuttaa virhesanoman käyttäjän määrittelemäksi tekstiksi.
Tämä virhe ilmenee useimmiten suoritettaessa mitä tahansa matemaattista funktiota tai jos kartoitamme tietoja, jotka ovat eri muodossa. IFERROR käsittelee monia virheitä, joista osa on:
#VALUE !, # N / A, # DIV / 0 !, #REF !, #NUM !, #NULL! Ja #NAME?
Esimerkki 1
Nyt tämä IFERROR-toiminto voidaan toteuttaa myös VBA: ssa. Nyt vertaillaksesi Excel-tuloksia VBA IFERROR -laitteeseen lisäämme sarakkeen, johon sovellamme VBA IFERROR -lausetta alla esitetyllä tavalla.
Voit ladata tämän VBA IFERROR Excel -mallin tästä - VBA IFERROR Excel TemplateTätä varten katsomme samat tiedot ja lisäämme toisen sarakkeen, jossa suoritamme VBA IFERROR. Siirry VBA-ikkunaan ja lisää uusi moduuli Lisää-valikosta alla olevan kuvan mukaisesti.
Kirjoita nyt avattuun moduuliin alaluokka millä tahansa nimellä. Tässä olemme antaneet käyttötoiminnon nimen alla esitetyllä tavalla.
Koodi:
Sub VBA_IfError () loppu Sub
Nyt valitsemme ActiveCellin avulla ensimmäisen referenssisolun ja käytämme sitten suoraan IFERROR-kaavaa referenssisolulla (RC) -2 jaettuna -1 solunumerolla. Mikä tarkoittaa, että jaamme solun A solulla B ensimmäisessä argumentissa. Ja toisessa argumentissa kirjoita mikä tahansa lause, jota haluamme virheen sijasta. Käytämme tässä samaa tilaa, jonka olemme nähneet yllä eli “Ei tuoteryhmää”.
Koodi:
Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "No Product Class" ")" End Sub
Valitse nyt alueen solu, joka olisi nimittäjämme. Tässä olemme valinneet solun C2.
Koodi:
Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ei tuoteryhmää" ")" Alue ("C2"). Valitse End Sub
Vedä kaava nyt solujen alapuolelle, missä meidän on käytettävä IFERRORia, kunnes taulukossa on arvot.
Koodi:
Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ei tuoteryhmää" ")" Alue ("C2"). Valitse Selection.End (xlDown) .Valitse loppu Sub
Nyt tullaan sarakkeen viimeiseen soluun Range- komennon avulla, johon meidän on vetävä IFERROR-kaava. Tässä rajamme päättyy soluun D6.
Koodi:
Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ei tuoteryhmää" ")" Alue ("C2"). Valitse Selection.End (xlDown) .Valitse alue ("D6"). Valitse End Sub
Vedä nyt sovellettu IFERROR alas kaikkiin soveltuviin soluihin valitsemalla Alue-kohdasta Alue loppupäästä (tai viimeisestä) soluun ylöspäin soveltuvaan kaavasoluun loppuun (xlUp) -komennolla.
Koodi:
Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ei tuoteryhmää" ")" Alue ("C2"). Valitse Selection.End (xlDown) .Valitse alue ("D6"). Valitse alue (valinta, valinta.End (xlUp)). Valitse Lopeta alaosa
Kun teemme Ctrl + D vetämällä ylösolun arvot kaikkiin valittuihin soluihin excelissä, tässä VBA: ssa, Selection.FillDown käytetään täyttämään samat ylösolun arvot kaikissa valituissa soluissa.
Koodi:
Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ei tuoteryhmää" ")" Alue ("C2"). Valitse Selection.End (xlDown) .Valitse alue ("D6"). Valitse alue (valinta, valinta.Loppa (xlUp)). Valitse valinta.FillDown End Sub
Tämä täydentää VBA IFERROR -koodausta. Suorita nyt koko koodi napsauttamalla toistopainiketta kuvan alla olevan kuvan mukaisesti.
Kuten yllä näemme, sarakkeessa D solusta 2 - 6 lähtien saimme tulokset.
On olemassa toinen muoto ja tapa soveltaa IFERRORia VBA: ssa. Tätä varten harkitsemme toista datajoukkoa, kuten alla on esitetty. Alla on myyntitiedot sarakkeessa A olevista tuotteista ja laatu myydään sarakkeessa B. Ja tarvitsemme näiden tietojen kartoittamisen solussa F2 viitaten tuotetyyppiin Kannettava tietokone . Nyt ensimmäisen taulukon tiedoissa on numero N / A solussa B3 kannettavan tietokoneen määrän loppuunmyytyä, mikä tarkoittaa, että itse lähdetiedoissa on virhe. Ja jos etsimme tietoja ensimmäisestä taulukosta soluun F2, saamme saman # N / A täältä.
Tätä varten avaa uusi moduuli VBA: ssa ja kirjoita alaluokka suoritetun toiminnon nimellä.
Koodi:
Sub VBA_IfError2 () Loppu Sub
Valitse alue, jolla meidän täytyy nähdä ulostulo, tai aktivoi se solu suoraan ActiveCellillä ja seuraa piste (.) -Komennolla, kuten alla.
Koodi:
Valitse nyt FormulaR1C1 luettelosta, jota käytetään minkä tahansa excel-toiminnon lisäämiseen.
Käytä nyt samaa kaavaa kuin mitä käytetään Excel-toiminnossa myös VBA: ssa.
Koodi:
Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0)" "Virhe Data "") "Loppu alaosaan
Valitse nyt solu, jossa meidän täytyy nähdä ulostulo alueella. Täällä olemme valinneet solun F3.
Koodi:
Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0)" "Virhe Data "") "Range (" B8 "). Valitse End Sub
Nyt käännä ja suorita täydellinen koodi F5-näppäimellä tai manuaalisesti ja katso tulos alla esitetyllä tavalla.
Kuten yllä olevassa kuvakaappauksessa voidaan nähdä, tuotetyypin Kannettava tietokone lähtötiedostona ensimmäisestä taulukosta # N / A on virheteksti “ Error In Data ” VBA-koodin määritelmän mukaisesti.
Plussa VBA IFERROR -toiminnosta
- IFERROR-toiminnon käyttäminen VBA: n kautta vie vähän aikaa.
- Tulos Excel-lisäystoiminnosta ja VBA IFERROR-koodauksesta ovat molemmat samat.
- Voimme myös muotoilla tai liittää erityisen sovelletun kaavan, jotta vältetään lisäongelmat.
Miinukset VBA IFERROR -toiminnolle
- IFERROR tällä menetelmällä, valitun solun alueen viittaaminen voi häiriintyä, koska taulukossa on rajoitettu solu.
Muistettavat asiat
- Voimme tallentaa makron ja muokata tallennettua koodausta tarpeen mukaan.
- Muista aina tallentaa tiedosto makro-käytössä Excel-tiedostona, jotta voimme käyttää sovellettua tai luodtua makroa useita kertoja ilman mitään ongelmia.
- Muista koota koko koodi ennen komentotoiminnon lopettamista. Tällä voimme välttää tai korjata mahdolliset virheet.
- Voit lisätä luodun koodin painikkeeseen tai välilehteen ja käyttää sitä yhdellä napsautuksella. Tämä on nopein tapa suorittaa koodi.
- Paras tapa välttää muutokset koodin suorittamisen jälkeen on liittää erityiset kokonaiset solut niin, että soluun ei tule mitään kaavaa.
Suositellut artikkelit
Tämä on opas Excel VBA IFERROR -toimintoon. Tässä keskustelimme siitä, kuinka IFERROR-toimintoa voidaan käyttää VBA: ssa, sekä joitain käytännöllisiä esimerkkejä ja ladattavaa excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -
- VBA-taulukot Excelissä
- Opas VBA-numeromuotoon
- Opas VBA-hakuun
- Kuinka käyttää VBA Do While Loop -sovellusta?