Excel VBA Break For Loop

VBA Break brukes når vi vil avslutte eller bryte den kontinuerlige sløyfen som har visse faste kriterier. For sløyfe er innenfor omfanget som definerer utsagnene som blir utført gjentatte ganger i et fast antall tid. Noen ganger når vi bruker en hvilken som helst loop-tilstand i VBA, hender det ofte at koden fortsetter å løpe uten slutt eller brudd. For å unngå denne typen situasjoner anbefales det å bruke noen pauser eller avslutte funksjoner som vi kan gå ut av loopen med den målbare utgangen fra makroen.

Hvordan bruke Excel VBA Break for loop?

Vi lærer hvordan du bruker en VBA Break for Loop med få eksempler i Excel.

Du kan laste ned denne VBA Break For Loop Excel Template her - VBA Break For Loop Excel Template

Eksempel 1 - VBA Break For Loop

Vi vil se et eksempel der når du bruker For loop vil ikke kriteriene ordnes. Men for å fikse dette vil vi bruke If-End- løkken. For dette trenger vi en modul der vi skal skrive denne koden.

Følg trinnene nedenfor for å bruke Break for Loop i Excel VBA.

Trinn 1: Åpne en ny modul, gå til VBA-vinduet, og velg deretter Modul fra Sett inn menyalternativet.

Trinn 2: Dette tar oss til en ny modul i VBA. I denne modulen skriver du nå Underkategori i navnet til VBA Break For Loop eller i et hvilket som helst annet navn som definerer betydningen.

Kode:

 Sub VBABreak1 () Slutt Sub 

Trinn 3: Definer nå en DIM som et hvilket som helst alfabet eller ord. Dette gir det en identitet. Her bruker vi alfabetet “A” nedenfor.

Kode:

 Sub VBABreak1 () Dim A End Sub 

Trinn 4: Tildel det nå som heltall som bare brukes til tall som vist nedenfor.

Kode:

 Sub VBABreak1 () Dim A As Integer End Sub 

Trinn 5: Tildel nå en tallverdi til heltall A. La oss si at det er 10 som vist nedenfor.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 End Sub 

Trinn 6: Start nå en For-loop og vurder eventuell startverdi på A. Det er bedre å ta denne verdien som null. Dette blir enkelt å beregne.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 For A = 0 til A Trinn 2 Slutt Sub 

Trinn 7: Og for å skrive ut verdien som er lagret i A, bruker vi en meldingsboks som henter verdien. Du kan også bruke hvilken som helst form for en setning for å gjøre meldingsboksen mer meningsfull, som er valgfri. Vi har brukt den på som vist nedenfor.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 For A = 0 til A Trinn 2 MsgBox ("Verdien er A er:" & A) Next End Sub 

Trinn 8: Sett sammen koden trinnvis ved å bruke funksjonstasten F8, og kjør deretter koden ved å klikke på Play-knappen som vist nedenfor. Vi vil se at utgangen i hvert trinn vil være fra 0 til 10 i trinngapet på 2 som vist nedenfor.

Trinn 9: Nå til slutt lukk For Loop, og bruk også Neste på slutten. "Neste" brukes når vi bruker tall i koden.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 For A = 0 til A Trinn 2 MsgBox ("Verdien er A er:" & A) Avslutt for neste slutt Sub 

Trinn 10: Dette viser at sløyfen ikke er komplett, og vi må også fylle avkjøringskriteriene for å gå ut fra For-loop. Og for det vil vi bruke If-End Loop-tilstanden. Så vurder å skrive If loop for samme heltall A. Her velger du grensen til du vil kjøre loopen. Vi har vurdert det som 4.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 For A = 0 til A Trinn 2 MsgBox ("Verdien er A er:" & A) Hvis A = 4, Avslutt deretter til neste slutt Sub 

Trinn 11: La oss legge til enda et kriterium der vi vil bruke hvor mange ganger det ville bli multiplisert med et hvilket som helst tall. La oss si at det er 10. Du kan velge et hvilket som helst annet nummer i stedet for 10. Men å bruke 10 gjør det enkelt å forstå multiplikasjonssløyfen.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 For A = 0 til A Trinn 2 MsgBox ("Verdien er A er:" & A) Hvis A = 4, deretter A = A * 10 Avslutt for neste slutt Sub 

Trinn 12: Bruk igjen navnetmeldingsboks som vi har brukt for For loop og lukk til slutt If Loop with End if setningen som vist nedenfor.

Kode:

 Sub VBABreak1 () Dim A Som heltall A = 10 For A = 0 til A Trinn 2 MsgBox ("Verdien er A er:" & A) Hvis A = 4 Da er A = A * 10 MsgBox ("Verdien er A er : "& A) Exit For End If Next End Sub 

Trinn 13: Sett sammen koden igjen og kjør den. For Loop vil begynne med å vise en melding med verdi 0 og deretter fulgt av 2, 4 og avslutte den 40. Hvilket betyr at For Loop ble ødelagt da den ble tredje gjentagelse og tok den siste verdien som 40.

Eksempel 2 - VBA Break For Loop

I dette eksemplet vil vi bruke For loop og se hvordan vi kan bryte løkken når den tilfredsstiller kriteriene.

Trinn 1: Åpne en ny modul fra Sett inn menyalternativet og gi den en underkategori i hvilket som helst navn eller bedre på en sekvensiell måte som vist nedenfor.

Kode:

 Sub VBABreak2 () Slutt Sub 

Trinn 2: Definer nå en DIM A som heltall. Ved å bruke heltall for test kan vi implementere koden raskere og feilsøke enkelt.

Kode:

 Sub VBABreak2 () Dim A As Integer End Sub 

Trinn 3: Start nå en For-loop for definert heltall og gi det et område fra hvilket som helst radtall fra 1. Vi har valgt til 20.

Kode:

 Sub VBABreak2 () Dim A som heltall for A = 1 til 20 slutt Sub 

Trinn 4: Gi nå et område eller sted hvor tallene skrives ut i rekkefølge. Vi brukte ThisWorkBook for å velge gjeldende åpnet fil og arbeidsark (1) for å velge det første arket i en åpnet arbeidsbok som vist nedenfor. Nå for å lukke For loop, skriv Neste på slutten som vist nedenfor.

Kode:

 Sub VBABreak2 () Dim A som heltall for A = 1 til 20 ThisWorkbook.Worksheets (1). Cells (A, 1) = A Next End Sub 

Trinn 5: Kjør koden ovenfor manuelt eller ved å bruke snarveistasten F5. Vi kan se at koden har gitt tall fra 1 til 20.

Trinn 6: Nå for å bryte løkken mellom 0 til 20, bruker vi If-End if loop-tilstand der vi vil gi kriteriene for å falle inn som vist nedenfor.

Kode:

 Sub VBABreak2 () Dim A som heltall for A = 1 til 20 Hvis slutt Hvis ThisWorkbook.Worksheets (1). Cells (A, 1) = A Next End Sub 

Trinn 7: Skriv kriteriene. Hvis A er større enn 9 (eller et hvilket som helst tall, men mindre enn 20), avslutter du som vist nedenfor. Vi antar at For Loop bør bli ødelagt når løkken når 9.

Kode:

 Sub VBABreak2 () Dim A som heltall for A = 1 til 20 Hvis A> 9, avslutt deretter for slutt hvis ThisWorkbook.Worksheets (1). Cells (A, 1) = A Next End Sub 

Trinn 8: Sett sammen koden for å finne feilen. Hvis ingen feil ble funnet, kjør den. Vi vil se for heltall A-verdier fra 1 til 20 har blitt fylt til koden har gått ut eller brutt i posisjon 9.

Fordeler med VBA Break For Loop

  • Exit or Break kan brukes ikke bare for For loop, men også i mange andre løkker, for eksempel Do-While.
  • Dette brukes hyppigst blant alle sløyfeforholdene som er tilgjengelige i VBA.
  • For Loop er ganske enkelt og kan fungere selv uten Exit-kriterier.

Ting å huske

  • For loop kan fungere uten å gi Exit-kriteriene. Det kan fungere fint til kriteriene uten avkjørsel bryter løkken til slutt.
  • Det er viktig å bryte en hvilken som helst sløyfe som ikke tilfredsstiller exit-kriteriene ved å bruke Exit i loopen.
  • Når du har skrevet koden, må du lagre filen som Macro Enable Excel slik at skrevet kode blir bevart.

Anbefalte artikler

Dette har vært en guide til VBA Break For Loop. Her diskuterer vi hvordan du bruker Excel VBA Break For Loop sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA InStr forklarte med eksempler
  2. VBA Integer Datatype
  3. Hvordan velge celle ved å bruke VBA-kode?
  4. Transponere et område i VBA

Kategori: