Sortez d'une boucle While… Wend


107

J'utilise une boucle While ... Wend de VBA.

Dim count as Integer

While True
    count=count+1

    If count = 10 Then
        ''What should be the statement to break the While...Wend loop? 
        ''Break or Exit While not working
    EndIf
Wend

Je ne veux pas utiliser de condition comme `While count <= 10 ... Wend

Réponses:


176

Une boucle While/ Wendne peut être quittée prématurément qu'avec a GOTOou en sortant d'un bloc externe ( Exit sub/ functionou d'une autre boucle exitable)

Passez Doplutôt à une boucle:

Do While True
    count = count + 1

    If count = 10 Then
        Exit Do
    End If
Loop

Ou pour boucler un certain nombre de fois:

for count = 1 to 10
   msgbox count
next

( Exit Forpeut être utilisé ci-dessus pour sortir prématurément)


-1

Une autre option serait de définir une variable d'indicateur comme un Boolean, puis de modifier cette valeur en fonction de vos critères.

Dim count as Integer 
Dim flag as Boolean

flag = True

While flag
    count = count + 1 

    If count = 10 Then
        'Set the flag to false         '
        flag = false
    End If 
Wend

-1

Le meilleur moyen est d'utiliser une Andclause dans votre Whiledéclaration

Dim count as Integer
count =0
While True And count <= 10
    count=count+1
    Debug.Print(count)
Wend
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.