打破一段时间... 温德循环

我正在使用 VBA 的 While... Wend 循环。

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

432518 次浏览

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 can be used above to exit prematurely)

另一种选择是将标志变量设置为 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

最好的方法是在 While语句中使用 And子句

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

如何在循环中设置‘ While’测试参数,使循环在下一次迭代中结束。比如说..。

OS = 0
While OS <> 1000
OS = OS + 1
If OS = 500 Then OS = 1000
Wend

好吧,这是个毫无意义的例子,但它表明了原则..。