Huis Sociale Media Hoe de OnError-instructie te gebruiken in Excel 2016 VBA - dummies

Hoe de OnError-instructie te gebruiken in Excel 2016 VBA - dummies

Inhoudsopgave:

Video: JBL Charge - How to Pair with an iPhone and iPad​​​ | H2TechVideos​​​ 2024

Video: JBL Charge - How to Pair with an iPhone and iPad​​​ | H2TechVideos​​​ 2024
Anonim

Wanneer u met fouten in Excel VBA moet omgaan, kunt u de instructie OnError gebruiken. Er zijn echter een paar dingen die u eerst moet weten. U kunt de instructie On Error op drie manieren gebruiken.

Syntaxis What It Does
On Error GoTo label Na het uitvoeren van deze instructie wordt VBA doorgevoerd op de

-instructie die volgt op het opgegeven label. U moet een dubbele punt

achter het label opnemen, zodat VBA het als een label herkent.

On Error GoTo 0 Na het uitvoeren van deze instructie hervat VBA zijn normale

foutcontrolegedrag. Gebruik deze verklaring na het gebruik van een van de

andere On Error-instructies of als u foutafhandeling

in uw procedure wilt verwijderen.

On Error Resume Next Na het uitvoeren van deze instructie negeert VBA eenvoudig alle fouten

en wordt de uitvoering met de volgende instructie hervat.

Hervatten na een fout

In sommige gevallen wilt u gewoon dat de routine netjes eindigt als er een fout optreedt. U kunt bijvoorbeeld een bericht weergeven waarin de fout wordt beschreven en vervolgens de procedure afsluiten. (Het eerder getoonde voorbeeld van EnterSquareRoot5 gebruikt deze techniek.) In andere gevallen wilt u indien mogelijk herstellen van de fout.

Om van een fout te herstellen, moet u een Resume-instructie gebruiken. Hiermee wordt de foutconditie gewist en kunt u de uitvoering op een bepaalde locatie voortzetten. U kunt de Resume-instructie op drie manieren gebruiken.

Syntaxis What It Does
Resume Uitvoering wordt hervat met de instructie die de fout veroorzaakte. Gebruik

dit als uw foutafhandelingscode het probleem corrigeert en

het OK is om door te gaan.

Hervatten Volgende Uitvoering wordt hervat met de instructie onmiddellijk volgend op de

-instructie die de fout veroorzaakte. Dit negeert in wezen de

fout.

Hervat label De uitvoering wordt hervat op het label dat u opgeeft.

Het volgende voorbeeld gebruikt een Resume-instructie nadat er een fout is opgetreden:

Sub EnterSquareRoot6 () Dim-aantal als Variant Dim Msg als String Dim Ans Als geheel-getal TryAgain: 'Foutafhandeling instellen op fout GoTo BadEntry 'Prompt voor een waarde Num = InputBox ("Voer een waarde in") If Num = "" Then Exit Sub "Voeg de vierkantswortel ActiveCell in. Waarde = Sqr (Num) Exit Sub BadEntry: Msg = Err. Nummer & ":" & Fout (Err. Nummer) Msg = Msg & vbNewLine & vbNewLine Msg = Msg & "Zorg dat een bereik is geselecteerd," Msg = Msg & "het blad is niet beveiligd", Msg = Msg & "en u voert een niet-negatieve waarde in. "Msg = Msg & vbNewLine & vbNewLine &" Probeer het nog een keer? "Ans = MsgBox (Msg, vbYesNo + vbCritical) Als Ans = vb Ja dan Resume TryAgain End Sub

Deze procedure heeft nog een label: TryAgain.Als er een fout optreedt, wordt de uitvoering voortgezet op het BadEntry-label en geeft de code het onderstaande bericht weer. Als de gebruiker antwoordt door op Ja te klikken, wordt de instructie Hervatten geactiveerd en springt de uitvoering terug naar het TryAgain-label. Als de gebruiker op Nee klikt, wordt de procedure beëindigd.

Als er een fout optreedt, kan de gebruiker beslissen of hij het opnieuw probeert.

Merk op dat het foutbericht ook het foutnummer bevat, samen met de "officiële" foutbeschrijving.

De opdracht Resume wist de fout voordat u verdergaat. Om dit te bekijken, vervangt u de volgende verklaring voor de voorlaatste instructie in het vorige voorbeeld:

Als Ans = vb Ja dan Ga naar TryAgain

De code werkt niet correct als u GoTo gebruikt in plaats van Resume. Voer een negatief getal in om te demonstreren. U krijgt de foutmelding. Klik op Ja om het opnieuw te proberen en voer vervolgens een ander negatief getal in. Deze tweede fout is niet opgesloten omdat de oorspronkelijke foutvoorwaarde niet is gewist.

Foutafhandeling in een notendop

Om u te helpen deze foutafhandelingsactiviteiten recht te houden, vindt u hier een snel en vuile samenvatting. Een blok met foutafhandelingscode heeft de volgende kenmerken:

  • Het begint onmiddellijk na het label dat is opgegeven in de foutmelding bij fout.

  • Het moet alleen door uw macro worden bereikt als er een fout optreedt. Dit betekent dat u onmiddellijk vóór het label een verklaring zoals Exit Sub of Exit-functie moet gebruiken.

  • Hiervoor is mogelijk een hervattingsverklaring vereist. Als u ervoor kiest om de procedure niet af te breken wanneer er een fout optreedt, moet u een hervattingsinstructie uitvoeren voordat u terugkeert naar de hoofdcode.

Weten wanneer fouten moeten worden genegeerd

In sommige gevallen is het perfect ok om fouten te negeren. Dat is het moment dat de instructie On Error Resume Next in het spel komt.

Het volgende voorbeeld lus door elke cel in het geselecteerde bereik en converteert de waarde naar de vierkantswortel. Deze procedure genereert een foutmelding als een cel in de selectie een negatief getal of een tekst bevat:

Subselectie Sqrt () Dimensiecel Als bereik Als TypeNaam (Selectie) <> "bereik" Dan Sub voor elke cel verlaten In cel Selectie. Waarde = Sqr (celwaarde) Volgende cel Einde sub

In dit geval wilt u wellicht een cel overslaan die een waarde bevat die u niet naar een vierkantswortel kunt converteren. U kunt allerlei soorten foutcontrolemogelijkheden maken met If-Then-structuren, maar u kunt een betere (en eenvoudiger) oplossing bedenken door eenvoudig de fouten te negeren die optreden.

De volgende routine volbrengt dit met behulp van de instructie On Error Resume Next:

Sub SelectionSqrt () Dim cell As Range If TypeName (Selection) <> "range" Then Exit Sub On Error Resume Next Voor elke cel In selectie cel. Waarde = Sqr (celwaarde) Volgende cel Einde sub

Over het algemeen kunt u een instructie On Error Resume Next gebruiken als u de fouten als onschadelijk of inconsequent voor uw taak beschouwt.

Hoe de OnError-instructie te gebruiken in Excel 2016 VBA - dummies

Bewerkers keuze

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

In Photoshop CS6, u kunt verschillende geometrie-opties voor Rechthoekige vormen selecteren met behulp van het tandwielpictogram op de werkbalk Opties. Hier zijn de geometrie-opties voor de rechthoek en afgeronde rechthoekige vormen. Onbeperkt: wanneer u deze optie selecteert (de standaardinstelling), bepaalt Photoshop de grootte en verhoudingen van de rechthoek terwijl u sleept. Vierkant: selecteer deze knop om ...

Hoe u Tools in Photoshop CS6 selecteert - dummies

Hoe u Tools in Photoshop CS6 selecteert - dummies

Om een ​​hulpmiddel in Photoshop CS6 te selecteren, klikt u er gewoon in het deelvenster Gereedschappen. Een kleine zwarte driehoek in de rechterbenedenhoek van een gereedschapslots geeft aan dat er meer hulpprogramma's zijn verborgen achter dat gereedschap in een vervolgmenu. Klik en houd de gewenste tool ingedrukt om toegang te krijgen tot het vervolgmenu. U hebt ook toegang tot ...

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Terwijl de gewone Lasso-tool in Photoshop CS6 geweldig is voor het selecteren van golvende, ronde elementen, de veelhoekige lasso-tool schittert als het gaat om de meer gereglementeerde, rechtzijdige onderwerpen, zoals skylines van de stad, gebouwen en trappen. In tegenstelling tot het gewone gereedschap Lasso, heeft het gereedschap Polygonale lasso rubberen bandachtige eigenschappen, en in plaats van te slepen, klikt u op ...

Bewerkers keuze

Digitale fotografie en ISO - dummies

Digitale fotografie en ISO - dummies

ISO (internationale organisatie voor standaardisatie) is een instelling op uw digitale camera die de gevoeligheid regelt van je camerasensor. Als je fotografeert op een zonnige dag, heb je veel licht. Daarom kunt u de combinatie van een relatief korte sluitertijd met een relatief klein diafragma gebruiken om de afbeelding goed te belichten. ...

Digitale fototermen - dummies

Digitale fototermen - dummies

Ga op je gemak met je digitale camera door enkele digitale fotografie-lingo's en tips te leren die je kunnen helpen met verlichting , portretten en scherptediepte, zodat u uit bent en fantastische digitale foto's maakt. ISO: de gevoeligheid van de camera voor licht. Door de ISO-waarde te verhogen, kunt u foto's maken bij weinig licht zonder gebruik te maken van ...

Digitale fotobeheertaken - dummies

Digitale fotobeheertaken - dummies

Maak u bekend met de volgende taken voor digitale fotobeheer of investeer in een bepaald stuk software om doe ze voor jou. Bedenk hoe deze taken in uw workflow voor digitale fotografie passen: markeren biedt u de mogelijkheid enkele foto's te markeren als bewaarder, sommige als afgekeurd en de rest alleen te laten. Eerst markeren, omdat het sneller gaat ...

Bewerkers keuze

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Het is altijd goed wanneer u kunt mensen helpen een formulier in te vullen dat u in Excel 2011 voor Mac hebt gemaakt. Eén manier is om het moeilijker te maken voor hen om fouten te maken bij het invullen van het formulier. Door gegevensvalidatie bijvoorbeeld in Excel 2011 voor Mac te gebruiken, kunt u ervoor zorgen dat ...

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Excel 2011 voor Mac heeft fantastische mogelijkheden voor datum- en tijdberekening. Wanneer u Excel-werkbladen gebruikt, moet u slechts twee geheimen kennen: elke dag wordt weergegeven door een geheel getal, een serienummer genoemd, en delen van dagen worden vertegenwoordigd door decimale breuken. Vandaag vinden met Excel-formules Op sommige dagen word je wakker en niet ...

Tips en trucs voor Excel 2008 voor Mac - dummies

Tips en trucs voor Excel 2008 voor Mac - dummies

Hoe blijf je de baas over spreadsheets in Excel 2008 voor Mac? Gebruik deze snelle stappen voor uw meest voorkomende activiteiten. Een werkblad hernoemen Dubbelklik op een bladentabblad om de naam te wijzigen. Cellen bewerken Dubbelklik op een cel om de celformule of celinhoud op het werkblad te bewerken. File timesaver Sla uw bestanden op als Excel ...