Vòng lặp trong VBA Excel

Ví dụ về vòng lặp trong VBA Excel từ A - Z có bài tập

Trong VBA (Visual Basic for Applications) dùng trong Excel, vòng lặp là cấu trúc quan trọng giúp bạn tự động hóa các thao tác lặp đi lặp lại. Dưới đây là các loại vòng lặp phổ biến trong VBA

 Vòng lặp VBA Excel

1. For...Next

Dùng khi biết trước số lần lặp.

Dim i As Integer
For i = 1 To 10
    Cells(i, 1).Value = i ' Ghi số vào cột A
Next i

2. For Each...Next

Dùng để lặp qua từng phần tử trong một tập hợp (collection), ví dụ như từng ô trong vùng dữ liệu.

Dim cell As Range
For Each cell In Range("A1:A10")
    cell.Value = cell.Value * 2 ' Nhân đôi giá trị ô
Next cell

3. Do While...Loop

Lặp khi điều kiện còn đúng. Kiểm tra điều kiện trước khi chạy nội dung vòng lặp.

Dim i As Integer
i = 1
Do While i <= 10
    Cells(i, 1).Value = i * 2
    i = i + 1
Loop

4. Do Until...Loop

Lặp đến khi điều kiện đúng.

Dim i As Integer
i = 1
Do Until Cells(i, 1).Value = ""
    Cells(i, 2).Value = Cells(i, 1).Value * 2
    i = i + 1
Loop

5. Do...Loop While / Until

Cấu trúc này chạy ít nhất 1 lần, sau đó mới kiểm tra điều kiện.

Dim i As Integer
i = 1
Do
    Cells(i, 1).Value = i
    i = i + 1
Loop While i <= 10

6. Nên dùng loại vòng lặp nào?

Mục tiêu Dùng vòng lặp
Biết số lần lặp For...Next
Duyệt qua vùng dữ liệu For Each...Next
Lặp với điều kiện động Do While, Do Until

 

Bài viết liên quan:

Ví dụ về vòng lặp trong VBA Excel từ A - Z có bài tập