Vòng lặp for trong VBA được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vòng lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while hoặc do while.
Cú pháp
Dưới đây là cú pháp của một vòng lặp for trong VBA.
For counter = start To end [Step stepcount] [statement 1] [statement 2] .... [statement 10] [Exit For] [statement 11] [statement 22] .... [statement n] Next
Trong đó:
[Step stepcount] là tùy chọn, nó rất hữu ích khi đếm lùi, đếm nhiều đơn vị một vòng lặp. Hãy xem các ví dụ dưới đây để hiểu các trường hợp sử dụng vòng lặp for trong VBA.
Ví dụ về vòng lặp for trong VBA
Ví dụ 1: Sử dụng từ khóa Step 2 để tăng biến đếm 2 đơn vị sau mỗi vòng lặp.
Sub ForExample1() Dim i As Integer For i = 0 To 10 Step 2 MsgBox "Gia tri cua i la: " & i Next End Sub
Kết quả:
Gia tri cua i la: 0 Gia tri cua i la: 2 Gia tri cua i la: 4 Gia tri cua i la: 6 Gia tri cua i la: 8 Gia tri cua i la: 10
Ví dụ 2: Sử dụng từ khóa Step -2 để giảm biến đếm 2 đơn vị sau mỗi vòng lặp.
Sub ForExample2() Dim i As Integer For i = 10 To 0 Step -2 MsgBox "Gia tri cua i la: " & i Next End Sub
Kết quả:
Gia tri cua i la: 10 Gia tri cua i la: 8 Gia tri cua i la: 6 Gia tri cua i la: 4 Gia tri cua i la: 2 Gia tri cua i la: 0
Ví dụ 3: không cần sử dụng từ khóa Step, biến đếm i tăng dần từ 1 đến 5.
Sub ForExample3() Dim i As Integer For i = 1 To 5 MsgBox "Gia tri cua i la: " & i Next End Sub
Kết quả:
Gia tri cua i la: 1 Gia tri cua i la: 2 Gia tri cua i la: 3 Gia tri cua i la: 4 Gia tri cua i la: 5
Ví dụ về thoát vòng lặp for trong VBA
Từ khóa Exit For được sử dụng để thoát vòng lặp for trong VBA.
Ví dụ:
Sub ForExample4() Dim i As Integer For i = 0 To 10 If i > 3 Then Exit For Else MsgBox "Gia tri cua i la: " & i End If Next End Sub
Kết quả:
Gia tri cua i la: 0 Gia tri cua i la: 1 Gia tri cua i la: 2 Gia tri cua i la: 3