Hướng dẫn cách dùng vòng lặp trong Excel

Vòng lặp trong Excel được biết đến là quá trình lặp lại một đoạn mã theo số lần nhất định trong VBA. Quá trình này đòi hỏi nhiều thao tác thủ công và lặp đi lặp lại. Đối với những ai đang bắt đầu tìm hiểu về VBA thì việc tìm hiểu vòng lặp là một trong những việc cơ bản nhất. Vì chức năng này có tác dụng làm giảm thao tác tay, tăng tính năng tự động, từ đó tiết kiệm thời gian trong quá trình xử lí công việc.

Hiện nay có 2 loại vòng lặp thường được dùng đó là For-Next Loop và Do-Loop. Bây giờ hãy cùng tìm hiểu về cách dùng vòng lặp For-next.

Ví dụ 1: Vòng lặp đơn

Sub Loop_Test01() ‘Ví dụ về vòng lặp lấy giá trị cho vùng từ A1 đến A10
Dim i As Integer
For i=1 To 10
Range(“A” & i).Value=i
Next i
End Sub

Bạn thực hiện gán biến i với những giá trị từ 1 đến 10

Với từng giá trị i thì giá trị tại những ô ở cột A, dòng i sẽ có giá trị bằng i

Lưu ý:

  • Việc dùng vòng lặp sẽ có lợi ở trên phạm vi nhỏ, các công việc gần như bắt buộc phải thực hiện bằng tay
  • Với các bảng dữ liệu lớn thì cách dùng vòng lặp sẽ làm chậm hơn, lúc đó nên cân nhắc chọn cách làm khác

Xem thêm: Hướng dẫn cách dùng hàm SUMPRODUCT trong Excel

Ví dụ 2: Vòng lặp kép

Đôi lúc bạn cũng cần thực hiện nhiều vòng lặp lồng nhau trong cùng 1 câu lệnh VBA, khi đó bạn cần dùng vòng lặp kép.

Cách dùng vòng lặp kép khá đơn giản và dễ thực hiện. Hãy cùng tìm hiểu ví dụ sau:

Vòng lặp kép 2 vòng lồng nhau

Option Explicit
Sub Loop_Test02() ‘Vòng lặp kép 2 vòng
Dim i As Integer
Dim j As Integer
For i = 1 To 2
For j = 2 To 6
If Cells(j, i) = “Book” Then Cells(j, 3) = “Yes”
Next j
Next i
End Sub
Biến i: thể hiện số cột được lặp trong bảng

Biến j: thể hiện số dòng được lặp trong bảng

=> Thực hiện kết hợp vòng lặp cho 2 biến i và j để bạn có thể mở rộng phạm vi vòng lặp sang những cột tiếp theo

Vòng lặp kép 3 vòng lồng nhau

Tương tự đối với vòng lặp 2 vòng, bạn cũng có thể tiến hành tạo ra vòng lặp kép 3 vòng bằng việc xét đồng thời 1 yếu tố nữa về Sheet để mở rộng được phạm vi hoạt động cho nhiều sheet cùng một lúc

Option Explicit
Sub Loop_Test03() ‘Vòng lặp 3 vòng lồng nhau
Dim i As Integer
Dim j As Integer
Dim n as Integer
For i = 1 To 2 ‘Biến số cột
For j = 2 To 6 ‘Biến số dòng
For n = 1 to 3 ‘Biến số Sheet
If sheets(n).Cells(j, i) = “Book” Then sheets(n).Cells(j, 3) = “Yes”
Next n
Next j
Next i
End Sub
Tùy vào từng nhu cầu công việc mà bạn có thể tùy biến vòng lặp để có thể đưa ra được kết quả như mong muốn. Chúc bạn thực hiện thành công!

Tin tức liên quan

Gửi bình luận

Email của bạn sẽ không được hiển thị công khai.