Excel VBA Break For Loop

VBA Break wordt gebruikt wanneer we de continue lus met bepaalde vaste criteria willen verlaten of verbreken. For lus valt binnen het bereik en definieert de instructies die herhaaldelijk gedurende een vast aantal keren worden uitgevoerd. Soms wanneer we een lusvoorwaarde in VBA gebruiken, gebeurt het vaak dat de code zonder einde of onderbreking blijft werken. Om dit soort situaties te voorkomen, wordt het aanbevolen om enkele onderbrekingen of exit-functies te gebruiken waarmee we de lus kunnen verlaten met de meetbare uitvoer van de macro.

Hoe Excel VBA Break For Loop te gebruiken?

We zullen leren hoe een VBA Break for Loop te gebruiken met enkele voorbeelden in Excel.

U kunt deze VBA Break For Loop Excel-sjabloon hier downloaden - VBA Break For Loop Excel-sjabloon

Voorbeeld # 1 - VBA Break For Loop

We zien een voorbeeld waarbij bij het gebruik van For- lus de criteria niet worden verbroken. Maar om dit op te lossen, zullen we de If-End- lus gebruiken. Hiervoor hebben we een module nodig waar we deze code zullen schrijven.

Volg de onderstaande stappen om Break for Loop te gebruiken in Excel VBA.

Stap 1: Open een nieuwe module ga naar het VBA-venster en selecteer daar Module uit de menu-optie Invoegen.

Stap 2: Dit brengt ons naar een nieuwe module in VBA. Schrijf nu in die module Subcategorie in de naam van VBA Break For Loop of in een andere naam die de betekenis ervan definieert.

Code:

 Sub VBABreak1 () Einde Sub 

Stap 3: definieer nu een DIM als een willekeurig alfabet of woord. Dit geeft het een identiteit. Hier gebruiken we het alfabet "A" hieronder.

Code:

 Sub VBABreak1 () Dim A End Sub 

Stap 4: Wijs het nu toe als Geheel getal dat alleen voor getallen wordt gebruikt, zoals hieronder wordt weergegeven.

Code:

 Sub VBABreak1 () Dim A als Integer End Sub 

Stap 5: Wijs nu een numerieke waarde toe aan Geheel getal A. Laten we zeggen dat het 10 is zoals hieronder weergegeven.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 End Sub 

Stap 6: Start nu een For-lus en overweeg elke beginwaarde van A. Het is beter om deze waarde als nul te nemen. Dit wordt gemakkelijk te berekenen.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 voor A = 0 tot A Stap 2 Einde Sub 

Stap 7: En om de waarde af te drukken die is opgeslagen in A, gebruiken we een berichtvenster dat de waarde ophaalt. U kunt ook elke vorm van een zin gebruiken om het berichtvak zinvoller te maken, wat optioneel is. We hebben het gebruikt zoals hieronder getoond.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 voor A = 0 tot A Stap 2 MsgBox ("De waarde is A is:" & A) Volgende einde Sub 

Stap 8: compileer nu de code stap voor stap met behulp van functietoets F8 en voer daarna de code uit door op de knop Afspelen te klikken, zoals hieronder wordt weergegeven. We zullen zien dat de output in elke stap van 0 tot 10 zal zijn in de stapafstand van 2 zoals hieronder getoond.

Stap 9: Sluit nu eindelijk For Loop en gebruik aan het einde ook Next . De "Volgende" wordt gebruikt wanneer we nummers in de code gebruiken.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 voor A = 0 tot A Stap 2 MsgBox ("De waarde is A is:" & A) Exit For Next End Sub 

Stap 10: Dit laat zien dat de lus niet compleet is en dat we ook de exit-criteria moeten invullen om de For-lus te verlaten. En daarvoor zullen we de If-End Loop-voorwaarde gebruiken. Overweeg dus om If-lus te schrijven voor hetzelfde gehele getal A. Kies hier de limiet totdat u de lus wilt uitvoeren. We hebben het als 4 beschouwd.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 voor A = 0 tot A Stap 2 MsgBox ("De waarde is A is:" & A) Als A = 4 Sluit af voor het volgende einde Sub 

Stap 11: Laten we nu nog een criterium toevoegen waarin we zullen gebruiken hoe vaak het met een willekeurig getal zou worden vermenigvuldigd. Laten we zeggen dat het 10 is. Je kunt elk ander nummer kiezen in plaats van 10. Maar het gebruik van 10 maakt de vermenigvuldigingslus gemakkelijk te begrijpen.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 voor A = 0 tot A Stap 2 MsgBox ("De waarde is A is:" & A) Als A = 4 Dan A = A * 10 Exit voor Next End Sub 

Stap 12: Gebruik nu opnieuw het naamberichtvenster zoals we dat hebben gebruikt voor de For-lus en sluit ten slotte de If Loop met End if- instructie zoals hieronder weergegeven.

Code:

 Sub VBABreak1 () Dim A als geheel getal A = 10 voor A = 0 tot A Stap 2 MsgBox ("De waarde is A is:" & A) Als A = 4 Dan A = A * 10 MsgBox ("De waarde is A is : "& A) Exit For End If Next End Sub 

Stap 13: compileer de code opnieuw en voer deze uit. For Loop zal beginnen met het tonen van een bericht met waarde 0 en dan gevolgd door 2, 4 en het beëindigen van 40. Wat betekent dat For Loop kapot is gegaan bij een 3e iteratie en de laatste waarde als 40 heeft genomen.

Voorbeeld # 2 - VBA Break For Loop

In dit voorbeeld zullen we For-lus toepassen en zien we hoe de lus kan worden verbroken zodra deze aan de criteria voldoet.

Stap 1: Open een nieuwe module via de menu-optie Invoegen en geef deze een naam in een willekeurige naam of beter op een opeenvolgende manier zoals hieronder getoond.

Code:

 Sub VBABreak2 () Einde Sub 

Stap 2: definieer nu een DIM A als geheel getal. Met behulp van Integer voor test kunnen we de code sneller implementeren en eenvoudig debuggen.

Code:

 Sub VBABreak2 () Dim A als Integer End Sub 

Stap 3: Start nu een For-lus voor een gedefinieerd geheel getal en geef deze een bereik van elke rijtelling vanaf 1. We hebben gekozen tot 20.

Code:

 Sub VBABreak2 () Dim A als geheel getal voor A = 1 tot 20 End Sub 

Stap 4: Geef nu een bereik of locatie van waar de nummers in volgorde worden afgedrukt. We hebben ThisWorkBook gebruikt om het huidige geopende bestand en werkbladen (1) te selecteren voor het selecteren van het eerste blad van een geopend werkboek, zoals hieronder weergegeven. Om de For-lus nu te sluiten, schrijft u aan het einde Volgende zoals hieronder wordt getoond.

Code:

 Sub VBABreak2 () Dim A als geheel getal voor A = 1 tot 20 ThisWorkbook.Worksheets (1). Cellen (A, 1) = A Next End Sub 

Stap 5: Voer de bovenstaande code handmatig uit of gebruik de sneltoets F5. We kunnen zien dat de code het aantal getallen van 1 tot 20 heeft gegeven.

Stap 6: Nu om de lus tussen 0 en 20 te doorbreken, gebruiken we de voorwaarde If-End if lus waar we de criteria geven om in te vallen zoals hieronder wordt getoond.

Code:

 Sub VBABreak2 () Dim A als geheel getal voor A = 1 tot 20 If End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Stap 7: Schrijf nu de criteria, als A groter is dan 9 (of een willekeurig getal maar kleiner dan 20), verlaat dan Voor zoals hieronder getoond. We veronderstellen dat For Loop kapot moet gaan als de loop 9 bereikt.

Code:

 Sub VBABreak2 () Dim A als Geheel getal voor A = 1 tot 20 Als A> 9 Vervolgens Exit For End If ThisWorkbook.Worksheets (1). Cellen (A, 1) = A Next End Sub 

Stap 8: compileer nu de code om de fout te vinden. Als er geen fout wordt gevonden, voer het dan uit. We zullen zien dat voor geheel getal A waarden van 1 tot 20 zijn ingevuld totdat de code op positie 9 is verlaten of verbroken.

Voordelen van VBA Break For Loop

  • Exit of Break kan niet alleen voor For-loop worden gebruikt, maar ook in veel andere loops, zoals Do-While.
  • Dit wordt het meest gebruikt bij alle luscondities die beschikbaar zijn in VBA.
  • For Loop is vrij eenvoudig en kan zelfs werken zonder Exit-criteria.

Dingen om te onthouden

  • For-lus kan werken zonder de exit-criteria op te geven. Het kan prima werken totdat de criteria zonder Exit de lus doorbreken.
  • Het is belangrijk om elke lus die niet voldoet aan de exit-criteria te verbreken door Exit in de lus te gebruiken.
  • Na het schrijven van de code slaat u het bestand op als Macro inschakelen Excel zodat de geschreven code behouden blijft.

Aanbevolen artikelen

Dit is een gids voor VBA Break For Loop geweest. Hier bespreken we hoe u Excel VBA Break For Loop kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA InStr uitgelegd met voorbeelden
  2. VBA Geheel gegevenstype
  3. Hoe cel te selecteren met behulp van VBA-code?
  4. Transponeer een bereik in VBA

Categorie: