While…Wendループから抜け出す


107

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」のような条件を使用したくない

回答:


176

A 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

別のオプションは、フラグ変数をとして設定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

最善の方法はAndWhileステートメントで句を使用することです

Dim count as Integer
count =0
While True And count <= 10
    count=count+1
    Debug.Print(count)
Wend
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.