Keluar dari While… Wend loop

107

Saya menggunakan While ... Wend loop of 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

Saya tidak ingin menggunakan kondisi seperti 'While count <= 10 ... Wend

Priyank Thakkar
sumber

Jawaban:

176

A While/ Wendloop hanya dapat keluar sebelum waktunya dengan GOTOatau dengan keluar dari blok luar ( Exit sub/ functionatau loop keluar lainnya)

Ubah ke Doloop sebagai gantinya:

Do While True
    count = count + 1

    If count = 10 Then
        Exit Do
    End If
Loop

Atau untuk mengulang beberapa kali:

for count = 1 to 10
   msgbox count
next

( Exit Fordapat digunakan di atas untuk keluar sebelum waktunya)

Alex K.
sumber
-1

Opsi lainnya adalah menetapkan variabel bendera sebagai Booleandan kemudian mengubah nilai itu berdasarkan kriteria Anda.

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
Sam Martin
sumber
-1

Cara terbaik adalah menggunakan Andklausa dalam Whilepernyataan Anda

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