Ngôn ngữ lập trình VBA hỗ trợ Vòng lặp Do While. Trong bài viết này, chúng ta sẽ học cách sử dụng Vòng lặp Do While trong Excel VBA.

Cú pháp của vòng lặp Do While

VBA Do While Loop có hai cú pháp:

Kiểm soát nhập Do trong khi lặp

Do While Condition

'Statement1

'Statement2

'--

'--

'StatementN

Loop

Trong cú pháp này, điều kiện được kiểm tra đầu tiên. Nếu điều kiện được khớp, điều khiển đi vào vòng lặp, vòng lặp khác sẽ kết thúc.

Kiểm soát thoát Do trong khi lặp lại

Do

'Statement1

'Statement2

'--

'--

'StatementN

Loop While Condition

Trong cú pháp này, điều khiển đi vào vòng lặp đầu tiên. Sau khi thực hiện mỗi tác vụ, VBA sẽ kiểm tra điều kiện cuối cùng. Nếu điều kiện là Đúng, Vòng lặp Do While tiếp tục, nếu không, vòng lặp kết thúc ngay lập tức. Sử dụng cú pháp này, khi bạn muốn vòng lặp của mình được thực thi ít nhất một lần.

Ví dụ: Xóa trang tính cho đến khi chỉ còn lại 2 trang tính Trong ví dụ này, chúng tôi sẽ cố gắng xóa từng trang tính một cho đến khi chỉ còn lại 2 trang tính trong sổ làm việc bằng VBA Do While Loop:

Sub WhileTest()

Application.DisplayAlerts = False

Do While Sheets.Count > 2

ActiveSheet.Delete

Loop

Application.DisplayAlerts = True

End Sub

Chương trình con trên trước tiên sẽ kiểm tra xem sổ làm việc có nhiều hơn 2 trang tính hay không. Nếu sổ làm việc có nhiều hơn 2 trang tính, điều khiển sẽ đi vào vòng lặp và sẽ xóa trang tính hiện tại. Vòng lặp sẽ tiếp tục cho đến khi chỉ còn lại 2 tờ.

Nếu sổ làm việc chỉ có 2 hoặc 1 trang tính, điều khiển sẽ không đi vào vòng lặp và sẽ không có gì xảy ra.

Bây giờ nếu bạn muốn xóa ít nhất 1 trang tính khi bắt đầu vòng lặp, ngay cả khi sổ làm việc chỉ có 2 trang tính, thì hãy sử dụng điều khiển thoát vòng lặp do while.

Sub WhileTest()

Application.DisplayAlerts = False

Do

ActiveSheet.Delete

Loop While Sheets.Count > 2

Application.DisplayAlerts = True

End Sub

Chương trình con trên đầu tiên sẽ xóa 1 sheet và sau đó nó sẽ kiểm tra xem có bao nhiêu sheet. Nếu chúng lớn hơn 2 tờ thì vòng lặp sẽ tiếp tục. Nếu sổ làm việc còn lại 2 trang tính hoặc ít hơn thì vòng lặp sẽ thoát ra.

Bài học chính ở đây là vòng lặp này sẽ thực hiện ít nhất một lần.

Bạn có thể sử dụng điều này để lặp lại một số tác vụ bằng cách hỏi người dùng. Ví dụ: bạn có thể yêu cầu người dùng nhập mật khẩu. Và lặp lại anh ta cho đến khi anh ta nhập đúng mật khẩu hoặc thoát. Trong trường hợp này, bạn phải hỏi người dùng mật khẩu ít nhất một lần.

Bài viết liên quan:

Câu lệnh If ElseIf trong VBA | If ElseIf là một kỹ thuật kiểm tra điều kiện cơ bản để trả về kết quả đầu ra có điều kiện.

Bài viết phổ biến:

Chức năng Countif là cần thiết để chuẩn bị bảng điều khiển của bạn.