Innholdsfortegnelse:
Video: Top 25 Excel 2016 Tips and Tricks 2025
Hvordan kan du identifisere og håndtere alle mulige feil i Excel 2016? Ofte kan du ikke. Heldigvis gir VBA en annen måte å håndtere de irriterende feilene.
Endre EnterSquareRoot-prosedyren
Undersøk følgende kode. Rutinen bruker en all-purpose On Error-setning for å fange alle feil og deretter sjekke for å se om InputBox ble kansellert.
Sub EnterSquareRoot5 () Dim Num Som Variant Dim Msg As String 'Konfigurer Feilhåndtering På Feil Går BadEntry' Spør om en verdi Num = InputBox ("Skriv inn en verdi") 'Avslutt hvis avbrutt Hvis Num = "" Avslutt deretter Sub 'Sett inn kvadratroten ActiveCell. Verdi = Sqr (Num) Exit Sub BadEntry: Msg = "Det oppstod en feil. "& VbNewLine & vbNewLine Msg = Msg &" Kontroller at et område er valgt, "Msg = Msg &" arket er ikke beskyttet, "Msg = Msg &" og du angir en ikke-negativ verdi. "MsgBox Msg, vbCritical End Sub
Denne rutinen feller hvilken som helst type kjøretid feil. Etter å ha fanget en runtime-feil, viser den reviderte EnterSquareRoot-prosedyren denne meldingsboksen. Denne meldingsboksen beskriver de mest sannsynlige årsakene til feilen.
Feil ikke fungerer?
Hvis en On Error-setning ikke fungerer som annonsert, må du endre en av innstillingene dine:
-
Aktiver VBE.
-
Velg kommandoen Verktøy → Alternativer.
-
Klikk kategorien Generelt i dialogboksen Alternativer.
-
Kontroller at innstillingen Break on All Errors ikke er valgt.
Hvis denne innstillingen er valgt, ignorerer Excel i hovedsak alle feilmeldinger. Du vil normalt holde feiloppfangingsalternativene satt til Bryt på uhåndterte feil.
Om påfeil-setningen
Ved å bruke en på Feil-setning i VBA-koden kan du omgå Excels innebygde feilhåndtering og bruke din egen feilhåndteringskode. I det forrige eksempelet forårsaker en kjøretidsfeil makrokjøring å hoppe til setningen merket BadEntry. Som et resultat unngår du ikke Excel's uvennlige feilmeldinger, og du kan vise din egen melding til brukeren.
Legg merke til at eksemplet bruker en Exit Sub-setning rett før merket BadEntry. Denne erklæringen er nødvendig fordi du ikke vil utføre feilhåndteringskoden hvis det oppstår en feil ikke .
