Inhoudsopgave:
Video: Top 25 Excel 2016 Tips and Tricks 2024
Hoe kunt u elke mogelijke fout in Excel 2016 identificeren en afhandelen? Vaak kan dat niet. Gelukkig biedt VBA een andere manier om met die vervelende fouten om te gaan.
De procedure EnterSquareRoot opnieuw bekijken
Bekijk de volgende code. De routine gebruikt een instructie On Error voor alle doeleinden om alle fouten vast te zetten en vervolgens om te controleren of de invoerbox is geannuleerd.
Sub EnterSquareRoot5 () Dim Num As Variant Dim Msg As String 'Foutafhandeling instellen Op fout GoTo BadEntry' Vragen om een waarde Num = InputBox ("Waarde invoeren") 'Afsluiten bij annulering Indien Num = "" Then Exit Sub 'Plaats de vierkantswortel ActiveCell. Waarde = Sqr (Num) Exit Sub BadEntry: Msg = "Er is een fout opgetreden. "& 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. Msgstr "MsgBox Msg, vbCritical End Sub
Deze routine houdt elke type runtime-fout vast. Na het vastleggen van een runtime-fout, geeft de herziene procedure EnterSquareRoot dit berichtvenster weer. In dit berichtvenster worden de meest waarschijnlijke oorzaken van de fout beschreven.
Aan Fout werkt niet?
Als een instructie On Error niet werkt zoals geadverteerd, moet u een van uw instellingen wijzigen:
-
Activeer de VBE.
-
Kies de opdracht Tools → Opties.
-
Klik op het tabblad Algemeen van het dialoogvenster Opties.
-
Zorg ervoor dat de instelling Break on All Errors is gedeselecteerd.
Als deze instelling is geselecteerd, negeert Excel in wezen alle On Error-instructies. U wilt normaal gesproken de foutopsporingsopties instellen op Onderbreking bij niet-verwerkte fouten.
Over de foutmelding On
Als u een On Error -instructie in uw VBA-code gebruikt, kunt u de ingebouwde foutafhandeling van Excel omzeilen en uw eigen foutverwerkingscode gebruiken. In het vorige voorbeeld zorgt een runtime-fout ervoor dat macro-uitvoering naar de instructie met het label BadEntry springt. Dientengevolge vermijdt u de onvriendelijke foutmeldingen van Excel en kunt u uw eigen bericht weergeven aan de gebruiker.
Merk op dat het voorbeeld een Exit Sub-instructie gebruikt vlak voor het BadEntry-label. Deze verklaring is nodig omdat u de foutverwerkingscode niet wilt uitvoeren als er zich een fout niet voordoet.