Salir de un tiempo ... bucle


107

Estoy usando un bucle 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

No quiero usar condiciones como `Mientras cuenta <= 10 ... Wend

Respuestas:


176

A While/ Wendbucle solamente puede salir prematuramente con una GOTOo saliendo de un bloque exterior ( Exit sub/ functiono otro bucle exitable)

Cambie a un Dobucle en su lugar:

Do While True
    count = count + 1

    If count = 10 Then
        Exit Do
    End If
Loop

O para recorrer un número determinado de veces:

for count = 1 to 10
   msgbox count
next

( Exit Forse puede usar arriba para salir prematuramente)


-1

Otra opción sería establecer una variable de marca como a Booleany luego cambiar ese valor según sus criterios.

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

La mejor manera es usar una Andcláusula en su Whiledeclaración

Dim count as Integer
count =0
While True And count <= 10
    count=count+1
    Debug.Print(count)
Wend
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.