แยกออกจาก while … Wend loop


107

ฉันใช้ While ... Wend loop ของ 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

คำตอบ:


176

A While/ Wendloop สามารถออกก่อนเวลาอันควรด้วย a 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.