Do...Loop Statement
Lặp lại những câu lệnh nằm giữa câu lệnh Do (làm) và câu lệnh Loop (vòng lặp) trong khi điều kiện là Đúng, hoặc đên khi điều kiện trở thành Đúng.
Cú pháp
Do [{While | Until} condition = True]
khối câu lệnh
[Exit Do]
khối câu lệnh
Vòng lặp
hoặc
Do
khối câu lệnh
[Exit Do]
khối câu lệnh
Loop [{While | Until} condition = True]
Tham số/Phần tử
Điều_kiện : một biểu thức kiểu so sánh, thuộc số hay chuỗi mà ước tính là hoặc Đúng hoặc Sai.
Khối câu lệnh : những câu lệnh bạn muốn lặp lại trong khi hoặc đến khi điều kiện là Đúng.
Câu lệnh Do...Loop (làm...vòng lặp) thực hiện một vòng lặp miến là, hoặc đến khi một điều kiện nào đó là Đúng. Điều kiện thoát phải được nhập vào phía sau câu lệnh kiểu Do hay Loop. Những mẫu thí dụ theo đây là tổ hợp đúng:
Cú pháp
Do While condition = True
...khối câu lệnh
Vòng lặp
Khối câu lệnh nằm giữa hai câu lệnh Do While (làm trong khi) và Loop (vòng lặp) được lặp lại miễn là điều kiện là Đúng.
Do Until condition = True
...khối câu lệnh
Vòng lặp
Khối câu lệnh nằm giữa hai câu lệnh Do Until (làm đến khi) và Loop (vòng lặp) thì được lặp lại nếu/miễn là điều kiện là Sai.
Do
...khối câu lệnh
Loop While condition = True
Khối câu lệnh nằm giữa hai câu lệnh Do (làm) và Loop (vòng lặp) thì lặp lại miễn là điều kiện là Đúng.
Do
...khối câu lệnh
Loop Until condition = True
Khối câu lệnh nằm giữa hai câu lệnh Do (làm) và Loop (vòng lặp) lặp lại đến khi điều kiện là Đúng.
Hãy dùng câu lệnh Exit Do (thoát làm) để kết thúc tuyệt đối vòng lặp. Bạn có thể thêm câu lệnh này vào bất cứ nơi nào trong một câu lệnh kiểu Do...Loop (làm...vòng lặp). Cũng có thể xác định một điều kiện thoát dùng cấu trúc If...Then (nếu...thì) như theo đây:
Làm...
câu lệnh
If condition = True Then Exit Do
câu lệnh
Vòng lặp...
Ví dụ :
Sub ExampleDoLoop
Dim sFile As String
Dim sPath As String
sPath = "c:\"
sFile = Dir$( sPath ,22)
If sFile <> "" Then
Do
MsgBox sFile
sFile = Dir$
Loop Until sFile = ""
End If
End Sub