I VBA kan du avsluta en Do -loop med hjälp av Avsluta Do kommando.
1 | Avsluta Do |
När körningen av kod kommer till Avsluta Do, kommer koden att lämna Do -slingan och fortsätta med den första raden efter slingan.
Om du vill lära dig hur du avslutar en For -loop, klicka på den här länken: VBA Exit For
Avsluta en loop när ett villkor är uppfyllt
Du kommer att se i exemplet nedan hur du avslutar en Do -slinga när ett visst villkor är uppfyllt. Vi kommer att slinga och öka värdet på variabeln i med 1 i varje iteration. När det gäller 6 vill vi lämna slingan och lämna tillbaka en meddelanderuta. Här är koden:
1234567891011 | Dim i As IntegerGör medan jag <10i = i + 1Om i = 6 DåAvsluta DoAvsluta omSlingaMsgBox "Värdet är" & i |
Först anger vi Do Loop om värdet på i är mindre än 10:
123 | Gör medan jag <10Slinga |
I slingans kropp ökar vi värdet av i med 1:
1 | i = i + 1 |
Efter det kontrollerar vi om värdet på i är lika med 6, med hjälp av kommandot If. Om värdet är 6, lämnar vi Do -slingan och går till första raden efter loop:
123 | Om i = 6 DåAvsluta DoAvsluta om |
Den första raden i koden som kommer att köras efter att du har lämnat Do -slingan är meddelanderutan med värdet i:
1 | MsgBox "Värdet är" & i |
Om du kör den här koden i Felsökningsläge, kommer du att se att det kommer att gå igenom slingan 6 gånger. I 6th iteration, värdet på variabeln i blir 6 och koden går in i If -kroppen. Nu är Do -slingans kropp avslutad. Därefter kommer MsgBox popup-fönster med värdet i: