Exit if-instructie gebruiken in vba (met voorbeeld)


Er is geen ingebouwde Exit If -instructie in VBA, maar u kunt er eenvoudig een simuleren door een If- instructie te gebruiken met een GoTo- instructie.

Het volgende voorbeeld laat zien hoe u dit in de praktijk kunt doen.

Voorbeeld: hoe u de Exit IF-instructie in VBA gebruikt

Stel dat we een macro willen maken die de gebruiker vraagt een geheel getal kleiner dan 10 in te voeren en vervolgens een IF- instructie te gebruiken om het volgende te doen:

  • Als het ingevoerde gehele getal kleiner is dan 10, vermenigvuldigt u dit met 2 en geeft u het resultaat weer in cel A1 .
  • Als het ingevoerde gehele getal niet kleiner is dan 10, verlaat u de IF-instructie en genereert u een foutmelding.

We kunnen hiervoor de volgende syntaxis gebruiken:

 SubMultiplySomeValue ()

Dim inputInteger As Integer
     
'get integer from user
inputInteger = InputBox(" Please enter an integer less than 10 ")

'check if integer is less than 10
If inputInteger < 10 Then
Range(" A1 ").Value = inputInteger * 2
Else
GoTo FlagMessage
End If

FlagMessage:
MsgBox “ This number is not less than 10End Sub

Wanneer we deze macro uitvoeren, wordt ons gevraagd een geheel getal kleiner dan 10: in te voeren.

Stel dat we de waarde 5 invoeren en vervolgens op OK drukken:

Omdat dit gehele getal kleiner is dan 10, vermenigvuldigt de subprocedure de waarde die we hebben ingevoerd met 2 en wordt het resultaat weergegeven in cel A1 :

Stel echter dat we in plaats daarvan de waarde 15 invoeren:

In Excel ontvangen we het volgende berichtvenster:

De waarde die we hebben ingevoerd, wordt niet met 2 vermenigvuldigd en er worden geen resultaten weergegeven in cel A1 .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

Hoe Sub af te sluiten bij een fout in VBA
Hoe IFERROR in VBA te gebruiken
Hoe bestanden te verwijderen met VBA

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert