Вирвіться з часу ... петля Венда


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або іншого exitable циклу)

Змініть на 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.