Hoe gebruik ik vba exit sub in excel?
VBA Exit Sub is een statement dat u gebruikt om een subprocedure of functie af te sluiten. Zoals u weet, is elke regel een macro die na elkaar wordt uitgevoerd, en als u de “Exit Sub” VBA toevoegt, sluit u de procedure af zonder de rest van de code uit te voeren die erna komt. Dit werkt het beste met lussen en het berichtenvenster .
De Exit Sub-instructie gebruiken in VBA
- Bepaal eerst op welke regel u de “Exit Sub” wilt toevoegen.
- Controleer daarna de structuur van de code die wordt uitgevoerd wanneer u de code uitvoert .
- Voer vervolgens de “Exit Sub” in.
- Uiteindelijk is het het beste om een opmerking te hebben waarin wordt beschreven waarom u de instructie “Exit Sub” gebruikt.
Opmerking: in een VBA- functieprocedure is de instructie die u moet gebruiken “Exit Function”.
Gebruik Exit Sub met een berichtenvenster en een invoervenster
Stel dat u invoer van de gebruiker wilt krijgen met een invoervak en de procedure wilt afsluiten als het antwoord van de gebruiker geen getal is (denk aan het volgende voorbeeld).
In de bovenstaande code heb je ISNUMERIC die controleert of de waarde die in het invoervak is ingevoerd, een getal is of niet, en als die waarde geen getal is, gebruikt het de Exit-instructie Sub om de procedure te voltooien nadat een berichtenvenster is weergegeven.
Sub vba_exit_sub_example() If IsNumeric(InputBox("Enter your age.", "Age")) = False Then MsgBox "Error! Enter your Age in numbers only." Exit Sub Else MsgBox "Thanks for the input." End If End Sub
In geval van een fout Exit Sub
Een van de beste dingen van “Exit Sub” is dat u het kunt gebruiken om de procedure af te sluiten wanneer er een fout optreedt. Hieronder staat de code die een getal deelt door een nul, wat een “Runtime Error ’11′” retourneert en de uitvoering stopt.
Hier kunt u de GoTo-instructie gebruiken om een foutafhandelaar te maken met de “Exit Sub” om de procedure af te sluiten (denk aan de volgende code).
Sub vba_exit_sub_on_error() On Error GoTo iError Range("A1") = 10 / 0 iError: MsgBox "You can't divide with the zero." & _ "Change the code." Exit Sub End Sub
In de bovenstaande code heb je een foutafhandelaar, “iError” met een berichtvenster en vervolgens de instructie “Exit Sub”. Wanneer er tijdens de berekening een fout optreedt, wordt de goto-instructie doorgegeven aan de foutafhandelaar ( VBA Error Handling ) en wordt de procedure afgesloten.