Вырваться из цикла "Пока ... Венд"

107

Я использую цикл While ... Wend в 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

Я не хочу использовать такие условия, как `Пока счет <= 10 ... Венд

Приянк Таккар
источник

Ответы:

176

Из цикла While/ Wendможно преждевременно выйти только с помощью GOTOили путем выхода из внешнего блока ( Exit sub/ functionили другого существующего цикла)

DoВместо этого измените на цикл:

Do While True
    count = count + 1

    If count = 10 Then
        Exit Do
    End If
Loop

Или для выполнения цикла заданное количество раз:

for count = 1 to 10
   msgbox count
next

( Exit Forможно использовать выше для преждевременного выхода)

Алекс К.
источник
-1

Другой вариант - установить флаговую переменную как a, Booleanа затем изменить это значение в соответствии с вашими критериями.

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

Лучший способ - использовать Andпредложение в вашем Whileзаявлении

Dim count as Integer
count =0
While True And count <= 10
    count=count+1
    Debug.Print(count)
Wend
Deseosuho
источник