MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Vòng lặp For Each trong VBA

Trong bài này mình sẽ hướng dẫn cách sử dụng vòng lặp For Each trong VBA, đây là vòng lặp rất hữu ích khi bạn muốn lặp qua một tập hợp nào đó như mảng, danh sách các trong một Range của Excel.

Chúng ta đã được học qua một số vòng lặp trong VBA rồi, nhưng bài này mình muốn mô tả chi tiết hơn về cách sử dụng vòng lặp này để lặp qua các ô trong Excel để xử lý chúng.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp vòng lặp For Each trong VBA

Vòng lặp này có cú pháp rất đơn giản.

For Each item In items
    ' code xử lý
Next item

Trong đó:

  • items là một tập hợp, co thể là một mảng, một danh sách được trả về từ một đối tượng nào đó trong VBA như Range, Worksheets.
  • item là biến tạm, dùng để lưu giá trị cho các phần tử trong mỗi lần lặp.

Khác với vòng lặp For, vòng lặp For Each không cần biết trước tổng số lần lặp, bởi nó sẽ duyệt qua từng phần tử cho tới khi gặp phần tử rỗng (tức là đã lặp hết). Chính vì vậy nó được sử dụng rất nhiều khi các bạn làm việc với VBA.

Bạn có thể xem chi tiết hơn tại bài viết vòng lặp for each trong visual basic.

2. Ví dụ về vòng lặp For Each trong VBA

Vì chúng ta chưa học về cách khai báo mảng nên mình sẽ sử dụng bài tập như sau:

Bài tập: Lặp qua các ô từ A1 đến B10, sau đó gán giá trị cho mỗi ô chính là số thứ tự của lần lặp đó.

1. Mình đã tạo một command button và code xử lý sự kiện click của nó như sau.

Private Sub CommandButton1_Click()

    Dim ranges As Range, rag As Range, i As Integer
    
    Set ranges = Range("A1:B10")
        i = 1
    
    For Each rag In ranges
        rag.Value = i
        i = i + 1
    Next rag
    
End Sub

2. Bây giờ mình click vào command button đó thì thu được kết quả.

for each vba JPG

Giải thích: Mỗi lần lặp thì biến rag chính là phần tử (ô) của lần lặp đó, nên ta sử dụng rag.Value = i để gán giá trị cho ô đó.

Trên là cách sử dụng vòng lặp For Each trong VBA, đây là một trong những vòng lặp được sử dụng rất nhiều bởi tính tiện lợi và nhanh gọn của nó. Chúc bạn học tốt nhé!

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top