Hjem Social Media Sådan bruger du OnError-erklæringen i Excel 2016 VBA - dummies

Sådan bruger du OnError-erklæringen i Excel 2016 VBA - dummies

Indholdsfortegnelse:

Video: Week 8, continued 2024

Video: Week 8, continued 2024
Anonim

Når du skal håndtere fejl i Excel VBA, kan du bruge OnError-sætningen. Der er dog nogle ting, du skal vide først. Du kan bruge On Error-sætningen på tre måder.

Syntaks Hvad den gør
På fejl GoTo label Efter udførelsen af ​​denne erklæring genoptages VBA på

-opstillingen efter den angivne etiket. Du skal inkludere et kolon

efter etiketten, så VBA genkender det som en etiket.

På fejl GoTo 0 Efter udførelsen af ​​denne erklæring genoptager VBA sin normale

fejlkontrol adfærd. Brug denne sætning efter brug af et af de

andre On Error-udsagn, eller hvis du vil fjerne fejlhåndtering

i din procedure.

Ved Fejl Genoptag Næste Efter at have gennemført denne erklæring ignorerer VBA simpelthen alle fejl

og genoptager udførelsen med den næste sætning.

Genoptag efter en fejl

I nogle tilfælde vil du blot have rutinen til at ende med yndefuldt, når der opstår en fejl. Du kan for eksempel vise en besked, der beskriver fejlen, og derefter afslutte proceduren. (Det viste EnterSquareRoot5-eksempel bruger denne teknik.) I andre tilfælde vil du gerne komme i gang med fejlen, hvis det er muligt.

For at gendanne fra en fejl, skal du bruge en CV igen. Dette rydder fejltilstanden og lader dig fortsætte udførelsen på et bestemt sted. Du kan bruge resume-sætningen på tre måder.

Syntaks Hvad det gør
Genoptag Execution fortsætter med den erklæring, der forårsagede fejlen. Brug

dette, hvis din fejlhåndteringskode korrigerer problemet, og

det er okay at fortsætte.

Genoptag Næste Udførelsen genoptages med udsagnet umiddelbart efter

erklæringen, der forårsagede fejlen. Dette ignorerer i det væsentlige

fejlen.

Genoptag label Udførelsen genoptages på label du angiver.

Følgende eksempel anvender en CV igen efter en fejl:

Sub EnterSquareRoot6 () Dim Num Som variant Dim Msg Som String Dim Ans Som Integer TryAgain: 'Konfigurer fejlhåndtering På Fejl GoTo BadEntry 'Anmod om en værdi Num = InputBox ("Indtast en værdi") Hvis Num = "" Afslut derefter Sub' Indsæt square root ActiveCell. Værdi = Sqr (Num) Afslut Sub BadEntry: Msg = Err. Nummer & ":" & Fejl (Err. Nummer) Msg = Msg & vbNewLine & vbNewLine Msg = Msg & "Sørg for at en rækkevidde er valgt," Msg = Msg & "arket er ikke beskyttet," Msg = Msg & " du indtaster en nonnegative værdi. "Msg = Msg & vbNewLine & vbNewLine &" Prøv igen? "Ans = MsgBox (Msg, vbYesNo + vbCritical) Hvis Ans = vbYes Fortsæt derefter TryAgain End Sub

Denne procedure har en anden label: TryAgain.Hvis der opstår en fejl, fortsætter eksekveringen på BadEntry-etiketten, og koden viser meddelelsen nedenfor. Hvis brugeren reagerer ved at klikke på Ja, sættes genoptagelsesopgørelsen i, og eksekveringen hopper tilbage til TryAgain-etiketten. Hvis brugeren klikker på Nej, afsluttes proceduren.

Hvis der opstår en fejl, kan brugeren beslutte, om man skal prøve igen.

Bemærk, at fejlmeddelelsen også indeholder fejlnummeret sammen med den "officielle" fejlbeskrivelse.

Resume-sætningen afhjælper fejltilstanden, før du fortsætter. For at se dette, prøv at erstatte følgende sætning for den næstsidste sætning i det foregående eksempel:

Hvis Ans = vbYes Then GoTo TryAgain

Koden virker ikke korrekt, hvis du bruger GoTo i stedet for Genoptag. For at demonstrere indtast et negativt tal. Du får fejlprompt. Klik på Ja for at prøve igen, og indtast derefter et andet negativt tal. Denne anden fejl er ikke fanget, fordi den oprindelige fejltilstand ikke blev ryddet.

Fejlhåndtering i et nøddeskal

For at hjælpe dig med at holde al denne fejlhåndteringsvirksomhed lige, er det et hurtigt og snavset resumé. En blok med fejlhåndteringskode har følgende egenskaber:

  • Den begynder straks efter etiketten, der er angivet i On Error-sætningen.

  • Det skal kun nås med din makro, hvis der opstår en fejl. Dette betyder, at du skal bruge en erklæring som Afslut Sub eller Afslut Funktion umiddelbart før etiketten.

  • Det kan kræve en CV-erklæring. Hvis du vælger ikke at afbryde proceduren, når der opstår en fejl, skal du udføre en CV igen, før du vender tilbage til hovedkoden.

Ved at ignorere fejl

I nogle tilfælde er det helt okay at ignorere fejl. Det er, når On Error Resume Next sætningen kommer i spil.

Følgende eksempel loops gennem hver celle i det valgte område og konverterer værdien til sin kvadratrode. Denne procedure genererer en fejlmeddelelse, hvis en celle i valget indeholder et negativt tal eller en tekst:

Sub SelectionSqrt () Dimcelle som rækkevidde Hvis TypeName (Valg) <> "Range" Så Afslut Sub For Hver Celle I Selektionscelle. Værdi = Sqr (celleværdi) Næste celle End Sub

I dette tilfælde vil du måske bare springe over en celle, der indeholder en værdi, du ikke kan konvertere til en kvadratrode. Du kan oprette alle mulige fejlkontrolfunktioner ved at bruge If-Then-strukturer, men du kan udtænke en bedre (og enklere) løsning ved simpelthen at ignorere de fejl, der opstår.

Følgende rutine opnår dette ved at bruge On Error Resume Next-sætningen:

Sub SelectionSqrt () Dim-celle som rækkevidde Hvis TypeName (valg) <> "interval" Så Afslut Sub På Fejl Genoptag Næste For Hver Celle I Valg celle. Værdi = Sqr (celleværdi) Næste celle End Sub

Generelt kan du bruge en On Error Resume Next statement, hvis du overvejer at fejlene er harmløse eller uhensigtsmæssige for din opgave.

Sådan bruger du OnError-erklæringen i Excel 2016 VBA - dummies

Valg af editor

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Aftaler du har sat op til arbejde i Outlook 2013 Kalender kræver ofte, at du indeholder lidt mere information, end du ville have brug for til dine personlige aftaler. Når du vil give en aftale den fulde behandling, skal du bruge følgende metode:

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

De aftaler og møder, du sender i Outlook, er knyttet til Outlook. com, så fra enhver web-aktiveret enhed kan du se, hvor du skal være og med hvem. Nu ved du, hvornår du er tilgængelig til møder, frokoster og tilfældige tungevæsker. Hvis du vil have dine Outlook 2013-data og din Outlook. com data til synkronisering automatisk, ...

Sådan flagger du en kontakt i Outlook 2013 - dummies

Sådan flagger du en kontakt i Outlook 2013 - dummies

Nogle gange har du brug for Outlook 2013 for at minde dig om vigtig datoer eller opfølgningsaktiviteter. Du kan f.eks. Bruge flag, for at minde dig om at ringe til nogen næste uge. Den bedste måde at hjælpe dig med at huske på er at markere personens navn i listen Kontaktpersoner. En påmindelse vil dukke op i din kalender. Kontakterne er ikke ...

Valg af editor

LinkedIn Group Kategorier - dummies

LinkedIn Group Kategorier - dummies

Fordi der er mange grunde til at oprette en gruppe, giver LinkedIn dig muligheder for at kategorisere din gruppe for at give dig mest eksponering. LinkedIn har etableret følgende seks hovedkategorier af grupper: Alumni: Disse grupper er alumniforeninger skabt af skoler eller lærerinstitutioner som et middel til at holde kontakten med fortiden ...

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

Der kommer nok en tid du har brug for dine LinkedIn kontakter for at hjælpe dig på andre arenaer, hvis du vil lykkes i din jobsøgning. For det første skal du generere din eksporterede fil af kontakter fra LinkedIn. Det gør du ved at følge disse trin:

LinkedIn For Dummies Cheat Sheet - dummies

LinkedIn For Dummies Cheat Sheet - dummies

Tilmelding til LinkedIn betyder, at du er en del af det største online faglige netværk i verden. Se her for nyttige retningslinjer for brug af LinkedIn, især når du søger job. LinkedIn hjælper dig med at oprette og vedligeholde en online profil, du kan bruge til at opbygge et professionelt netværk.

Valg af editor

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Hvis du har en god Ny ide til en app, der vil køre på Windows Phone 7, start med at downloade de gratis Windows Phone Developer Tools fra Microsofts websted. Processen tager et kig på, hvad du har på din pc, før det begynder at downloade - hvis du allerede har en bedre version ...

Hvorfor udvikle til Android? - dummies

Hvorfor udvikle til Android? - dummies

Det virkelige spørgsmål er, "Hvorfor ikke udvikle til Android? "Hvis du vil have din app tilgængelig for millioner af brugere over hele verden, eller hvis du vil offentliggøre apps, så snart du er færdig med at skrive og teste dem, eller hvis du kan lide at udvikle på en åben platform, har du dit svar. Men hvis du er ...

Arbejder med objektgrafer i storyboarding - dummies

Arbejder med objektgrafer i storyboarding - dummies

Du kan bruge storyboarding til at starte din iOS-applikationsudvikling i Xcode4. Når du opretter dit storyboard, opretter du en objektgraf, der derefter arkiveres, når du gemmer filen. Når du indlæser filen, er objektgrafen unarchived. Så hvad er en objekgraf? Her er det korte svar: Objektorienterede programmer er lavet ...