VBA IFERROR

En skrevet kode mange ganger gir feilen og sjansene for å få en feil i kompleks feil er ganske høye. Som Excel har IFERROR-funksjon som brukes der det er sjanser for å få en feil. IFERROR endrer feilmeldingen til andre tekstuttalelser etter behov og definert av brukeren. Tilsvarende fungerer VBA IFERROR på samme måte som IFERROR-funksjonen til Excel. Den endrer feilmeldingen til den definerte teksten av brukeren.

Denne feilen oppstår for det meste når vi utfører en matematisk funksjon, eller hvis vi kartlegger data som er i et annet format. IFERROR håndterer mange feil, noen av dem er:

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

Eksempel 1

Nå kan denne IFERROR-funksjonen også implementeres i VBA. For å sammenligne resultatene fra Excel med VBA IFERROR vil vi sette inn en kolonne hvor vi vil bruke VBA IFERROR-setningen som vist nedenfor.

Du kan laste ned denne VBA IFERROR Excel-malen her - VBA IFERROR Excel-mal

For dette vurderer vi de samme dataene og setter inn en annen kolonne hvor vi skal utføre VBA IFERROR. Gå til VBA-vinduet og sett inn en ny modul fra Sett inn-menyen som vist nedenfor.

Nå i en nyåpnet modul, skriv underkategori med hvilket som helst navn. Her har vi gitt navnet på driftsfunksjonen som vist nedenfor.

Kode:

 Sub VBA_IfError () Slutt Sub 

Nå med hjelp av ActiveCell, vil vi velge den første referansecellen og deretter direkte bruke IFERROR-formelen med referansecellen (RC) -2 delt på -1 celletall. Noe som betyr at vi deler celle A med celle B i det første argumentet. Og i det andre argumentet skriver du noen uttalelse som vi ønsker i stedet for feil. Her vil vi bruke den samme tilstanden som vi har sett ovenfor, dvs. "Ingen produktklasse".

Kode:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ingen produktklasse" ")" End Sub 

Velg nå rekkevidden som vil være vår nevner. Her har vi valgt celle C2.

Kode:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "No Product Class" ")" Range ("C2"). Velg Slutt Sub 

Nå for å dra formelen til under celler der vi trenger å bruke IFERROR til tabellen har verdiene.

Kode:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ingen produktklasse" ")" Range ("C2"). Velg valg.End (xlDown) .Velg slutt Under 

Nå for å komme til den siste cellen i kolonnen ved hjelp av kommandoen Range hvor vi trenger å dra IFERROR-formelen. Her ender grensen vår ved celle D6.

Kode:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ingen produktklasse" ")" Range ("C2"). Velg valg.End (xlDown) .Velg område ("D6"). Velg Slutt sub 

Nå for å dra den anvendte IFERROR ned til alle de aktuelle cellene, velger du området fra slutt (eller siste) celle til opp til den anvendte formelcellen etter slutt (xlUp) -kommandoen under Range .

Kode:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ingen produktklasse" ")" Range ("C2"). Velg valg.End (xlDown) .Velg område ("D6"). Velg Område (Utvalg, Utvalg.End (xlUp)). Velg Avslutt sub 

Som vi gjør Ctrl + D for å dra opp celleverdiene til alle utvalgte celler i Excel, her i VBA, er Selection.FillDown brukt til å fylle de samme cellene verdiene i alle valgte celler.

Kode:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Ingen produktklasse" ")" Range ("C2"). Velg valg.End (xlDown) .Velg område ("D6"). Velg Område (Utvalg, Utvalg.End (xlUp)). Velg Utvalg.FyllDown End Sub 

Dette fullfører kodingen av VBA IFERROR. Kjør nå den komplette koden ved å klikke på avspillingsknappen som vist under skjermbildet.

Som vi kan se ovenfor, fikk vi resultatene i kolonne D fra celle 2 til 6.

Det er et annet format og måte å bruke IFERROR på i VBA. For dette vil vi vurdere et annet sett med data som vist nedenfor. Nedenfor har vi salgsdata for noen produkter i kolonne A og kvalitet solgt i kolonne B. Og vi trenger å kartlegge disse dataene på celle F2 med referanse til produkttype Bærbar . Nå har data i den første tabellen # N / A i celle B3 med for utsolgt bærbar mengde som betyr at kildedata i seg selv har en feil. Og hvis vi ser opp dataene fra den første tabellen til Cell F2, vil vi få samme # N / A her.

For dette åpner du en ny modul i VBA og skriver underkategori med navnet på en utført funksjon.

Kode:

 Sub VBA_IfError2 () Slutt Sub 

Velg område der vi trenger å se utdataene eller direkte aktivere den cellen av ActiveCell etterfulgt av prikklinje (.) Som vist nedenfor.

Kode:

Velg nå FormelR1C1 fra listen som brukes til å sette inn en hvilken som helst Excel-funksjon.

Nå bruker du den samme formelen som brukes i Excel-funksjon i VBA også.

Kode:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0), " "Feil i Data "") "Slutt sub 

Velg nå cellen der vi trenger å se output i Range. Her har vi valgt celle F3.

Kode:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0), " "Feil i Data "") "Område (" B8 "). Velg Slutt sub 

Sett sammen og kjør fullstendig kode ved å bruke F5-tasten eller manuelt, og se resultatet som vist nedenfor.

Som vi kan se på skjermbildet ovenfor, er utdataene fra den bærbare produkttypen fra første tabell nr. N / A med feiltekst “ Feil i data ” som definert i VBA-kode.

Fordeler med VBA IFERROR-funksjon

  • Det tar lite tid å bruke IFERROR-funksjonen gjennom VBA.
  • Resultat fra Excel-innsatsfunksjon og VBA IFERROR-koding, begge er de samme.
  • Vi kan også formatere eller lime inn den spesielle anvendte formelen for å unngå ytterligere problemer.

Ulemper ved VBA IFERROR-funksjon

  • IFERROR med denne metoden, kan referanse til området for valgt celle bli forstyrret da tabellen har begrensede celler.

Ting å huske

  • Vi kan registrere makroen og endre den innspilte kodingen etter vårt behov.
  • Husk alltid å lagre filen som makroaktivert Excel, slik at vi kan bruke den anvendte eller opprettede makroen flere ganger uten problemer.
  • Forsikre deg om at du husker å samle hele koden før du avslutter kommandofunksjonen. Ved dette kan vi unngå eller rette opp feil.
  • Du kan bruke den opprettede koden på en knapp eller en fane og bruke den med et enkelt klikk. Dette er den raskeste måten å kjøre koden på.
  • Den beste måten å unngå endringer etter å ha kjørt koden, er å lime inn spesielle, komplette celler, slik at det ikke blir noen formel i cellen.

Anbefalte artikler

Dette har vært en guide til Excel VBA IFERROR-funksjon. Her diskuterte vi hvordan du bruker IFERROR-funksjon i VBA sammen med noen praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler–

  1. VBA Arrays i Excel
  2. Veiledning for VBA-nummerformat
  3. Guide to VBA Find
  4. Hvordan bruke VBA Do While Loop?

Kategori: