Выйти из цикла WhileWend

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

Я не хочу использовать такое условие, как `While count‹=10...Wend


person Priyank Thakkar    schedule 30.08.2012    source источник


Ответы (3)


Цикл 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 можно использовать выше для преждевременного выхода)

person Alex K.    schedule 30.08.2012
comment
В чем разница между While и Do While, пожалуйста? - person GMSL; 12.04.2021

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

Dim count as Integer
count =0
While True And count <= 10
    count=count+1
    Debug.Print(count)
Wend
person deseosuho    schedule 18.07.2020

Другой вариант — установить переменную флага как 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
person Sam Martin    schedule 03.12.2019