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 Template

Tä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 -

  1. VBA-taulukot Excelissä
  2. Opas VBA-numeromuotoon
  3. Opas VBA-hakuun
  4. Kuinka käyttää VBA Do While Loop -sovellusta?

Luokka: