Hem Sociala medier Hur man använder OnError-förklaringen i Excel 2016 VBA - dummies

Hur man använder OnError-förklaringen i Excel 2016 VBA - dummies

Innehållsförteckning:

Video: HUR ANVÄNDER MAN?! 2025

Video: HUR ANVÄNDER MAN?! 2025
Anonim

När du behöver hantera fel i Excel VBA kan du använda OnError-satsen. Det finns dock några saker du behöver veta först. Du kan använda On Error-satsen på tre sätt.

Syntax Vad det gör
Om Error GoTo label Efter utförandet av detta uttalande återupptar VBA utförandet i

-sagnet efter den angivna etiketten. Du måste inkludera ett kolon

efter etiketten så att VBA känner igen det som en etikett.

På Error GoTo 0 Efter att ha utfört detta uttalande återupptar VBA sitt normala

felkontroll beteende. Använd detta uttalande efter att du använt ett av de

andra felmeddelandena eller när du vill ta bort felhantering

i din procedur.

Om felet fortsätter Nästa Efter att ha utfört detta uttalande ignorerar VBA helt enkelt alla fel

och återupptas utförande med nästa uttalande.

Återuppta efter ett fel

I vissa fall vill du helt enkelt att rutinen slutar graciöst när ett fel uppstår. Du kan till exempel visa ett meddelande som beskriver felet och avsluta proceduren. (Det tidigare EnterSquareRoot5-exemplet använder denna teknik.) I andra fall vill du återhämta sig från felet om möjligt.

För att återhämta sig från ett fel måste du använda ett CV-meddelande. Detta rensar felet och låter dig fortsätta exekvera på någon plats. Du kan använda CV-påståendet på tre sätt.

Syntax Vad det gör
Fortsätt Exekveringen återupptas med det uttalande som orsakade felet. Använd

detta om din felhanteringskod korrigerar problemet och

det är okej att fortsätta.

Fortsätt Nästa Exekveringen återupptas med uttalandet omedelbart efter det uttalande

som orsakade felet. Detta ignorerar väsentligen felet

.

Fortsätt etikett Exekvering återupptas på etiketten du anger.

Följande exempel använder ett CV-meddelande efter ett fel:

Sub EnterSquareRoot6 () Dim Num Som variant Dim Msg Som String Dim Ans Som Integer TryAgain: 'Konfigurera felhantering På Error GoTo BadEntry "Prompten för ett värde Num = InputBox (" Ange ett värde ") Om Num =" "Avsluta sedan" Sätt in kvadratroten ActiveCell. Värde = Sqr (Num) Exit Sub BadEntry: Msg = Err. Nummer & ":" & Fel (Err.nummer) Msg = Msg & vbNewLine & vbNewLine Msg = Msg & "Kontrollera att ett intervall är markerat," Msg = Msg & "arket är inte skyddat," Msg = Msg & " du anger ett nonnegative värde. "Msg = Msg & vbNewLine & vbNewLine &" Försök igen? "Ans = MsgBox (Msg, vbYesNo + vbCritical) Om Ans = vbYes Fortsätt sedan TryAgain End Sub

Den här proceduren har en annan etikett: TryAgain.Om ett fel uppstår fortsätter körningen på BadEntry-etiketten och koden visar meddelandet nedan. Om användaren svarar genom att klicka på Ja, slår genomsökningsuppsättningen in och körningen springer tillbaka till TryAgain-etiketten. Om användaren klickar på Nej avslutas proceduren.

Om ett fel uppstår kan användaren bestämma om det ska försökas igen.

Observera att felmeddelandet också innehåller felnumret tillsammans med den "officiella" felbeskrivningen.

I återupptappningen raderas felet innan du fortsätter. För att se detta, försök att ersätta följande uttalande för det näst sista tillägget i föregående exempel:

Om Ans = vbYes Then GoTo TryAgain

Koden fungerar inte korrekt om du använder GoTo istället för Fortsätt. För att visa, ange ett negativt tal. Du får felmeddelandet. Klicka på Ja för att försöka igen och ange sedan ett annat negativt tal. Det här andra felet är inte fastnat eftersom det ursprungliga felet inte var rensat.

Felhantering i ett nötskal

För att hjälpa dig att hålla hela den här felhanteringsaffären rakt, här är en snabb och smutsig sammanfattning. Ett block med felhanteringskod har följande egenskaper:

  • Den börjar omedelbart efter etiketten som anges i felmeddelandet.

  • Det bör endast nås med ditt makro om ett fel uppstår. Det innebär att du måste använda ett uttalande som Exit Sub eller Exit Function direkt före etiketten.

  • Det kan kräva ett CV-uttalande. Om du väljer att inte avbryta proceduren när ett fel inträffar måste du utföra ett CV-meddelande innan du återgår till huvudkoden.

Att veta när man ska ignorera fel

I vissa fall är det helt okej att ignorera fel. Det är då på felet fortsätt nästa uttalande kommer till spel.

Följande exempel loopar genom varje cell i det valda området och omvandlar värdet till dess kvadratrots. Denna procedur alstrar ett felmeddelande om någon cell i urvalet innehåller ett negativt tal eller en text:

Sub SelectionSqrt () Dimcell som Range If TypeName (Selection) <> "range", sedan Avsluta del för varje cell i markeringscell. Värde = Sqr (cellvärde) Nästa cell Slut Sub

I det här fallet kan du helt enkelt hoppa över en cell som innehåller ett värde som du inte kan konvertera till en kvadratrots. Du kan skapa alla möjliga felkontrollfunktioner genom att använda If-Then-strukturer, men du kan utforma en bättre (och enklare) lösning genom att helt enkelt ignorera de fel som uppstår.

Följande rutin uppnår detta genom att använda On Error Resume Next-satsen:

Sub SelectionSqrt () Dimelcell Som Område Om Typnamn (Urval) <> "Område" Då Avsluta Del Vid Fel Fortsätt Nästa För Varje Cell I Val cell. Värde = Sqr (cellvärde) Nästa cell Slut Sub

I allmänhet kan du använda ett On Error Resume Next-meddelande om du anser att felen är ofarlig eller oavsiktlig för din uppgift.

Hur man använder OnError-förklaringen i Excel 2016 VBA - dummies

Redaktörens val

Office 365 Grupper - Dummies

Office 365 Grupper - Dummies

Du kan använda Office 365 Grupper, eller helt enkelt grupper, för att snabbt bandet tillsammans med medarbetare till samarbeta utan administrationsansvar som följer med en SharePoint-webbplats. Grupper är inte en del av SharePoint Online. Det är faktiskt en funktion i Exchange Online, men den använder SharePoint Online-funktioner, till exempel OneDrive for Business för att lagra gruppfiler ...

Office 365 Mobil Dokument i molnet - Dummies

Office 365 Mobil Dokument i molnet - Dummies

Varje Office 365-abonnent med en kvalificerad plan kan installera Office mobilappar på upp till fem tabletter och fem smartphones. Kvalificeringsplanerna är: Office for Business Premium, Office 365 Business, Office 365 Pro Plus, Office 365 E3 och Office 365 E5. Kärnan Office-appar finns i Windows, iOS och Android ...

Office Graph och Delve - dummies

Office Graph och Delve - dummies

Office Graph i Office 365 ger en möjlighet för människor att dra nytta av relationer och aktiviteter och göra dem till meningsfulla insikter. De signaler du skickar från e-postkonversationer och möten i Outlook, snabbmeddelanden i Skype for Business, sociala interaktioner på Yammer och dokument i SharePoint Online och OneDrive samlas alla och ...

Redaktörens val

Elektronik Komponenter: Sätt in induktorer till arbete - dummies

Elektronik Komponenter: Sätt in induktorer till arbete - dummies

Om du har undrat vad induktorer används egentligen i elektroniska kretsar i verkligheten, här är några av de vanligaste användningarna för induktorer: Utjämning av spänning i en strömförsörjning: Det sista steget i en typisk strömförsörjningskrets som omvandlar 120 VAC hushållsström till en användbar direkt Nuvarande är ofta en ...

Elektronik Komponenter: Introduktion av mikrokontroller - dummies

Elektronik Komponenter: Introduktion av mikrokontroller - dummies

En mikrokontroller är en komplett dator på en enda elektronisk chip. De kan köpas för $ 50 eller mindre. Liksom alla datorsystem består mikrodatorer av flera grundläggande delsystem: Central Processor (CPU): En CPU utför de instruktioner som tillhandahålls av ett program. CPU kan göra alla nödvändiga åtgärder för ...

Elektronik Komponenter: Motstånd Power Ratings - dummies

Elektronik Komponenter: Motstånd Power Ratings - dummies

Motstånd är som bromsar för ström som strömmar genom en elektronisk krets. Liksom bromsarna i din bil arbetar motstånd genom att använda den elektriska ekvivalenten av friktion till strömningsströmmen. Denna friktion hämmar strömmen av ström genom att absorbera en del av strömens energi och sprida den i form av värme. När du använder en ...

Redaktörens val

Hur man konfigurerar SSH för din webbplats - dummies

Hur man konfigurerar SSH för din webbplats - dummies

Secure shell (SSH) är ett nätverksprotokoll för att tillåta säker datakommunikation. I själva verket är det som en webbhotell bakdörr i ditt system - en som borde förbli låst om du inte behöver använda den. Naturligtvis är exakt hur du konfigurerar SSH olika på alla typer av webbhotell, men som ...

Hur man skapar en ny webbhotell - dummies

Hur man skapar en ny webbhotell - dummies

Du måste skapa din databas inom din webbhotellskontrollpanel och skapa en speciell databasanvändare som har behörighet att komma åt den. När du installerar en webbapplikation eller ett skript som kräver en databas från kontrollpanelen, kommer installationsprogrammet sannolikt att kunna skapa en egen databas och användare. ...

Hur man skapar nya konton på webbhotell med FTP-dummies

Hur man skapar nya konton på webbhotell med FTP-dummies

Du kanske vill att skapa ytterligare konton på en webbhanterad ftp av olika orsaker. Detta möjliggör viss mångsidighet och kontroll för att förbättra din företagsfunktionalitet. Några skäl till att lägga till ett konto är följande: Du vill ge någon annan FTP-åtkomst till din webbplats. Du vill ge någon FTP-åtkomst ...