Vòng Lặp For Each Trong VBA - ự Học Excel VBA
Có thể bạn quan tâm
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.
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 itemTrong đó:
- 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 Sub2. Bây giờ mình click vào command button đó thì thu được kết quả.
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é!
Từ khóa » Cấu Trúc Vòng Lặp Vba
-
Hướng Dẫn Viết Cấu Trúc Do...Loop Trong Vòng Lặp VBA Excel
-
Các Vòng Lặp Trong VBA: Vòng Lặp For Và Do While
-
Hướng Dẫn Cách Viết Vòng Lặp Do Loop Trong VBA - Học Excel Online
-
Vòng Lặp FOR Trong VBA Và Các Ví Dụ Cách Sử Dụng
-
Vòng Lặp For Trong VBA - VietTuts
-
Vòng Lặp Do-While Trong VBA - VietTuts
-
Bài 14: Vòng Lặp FOR EACH Trong VBA - YouTube
-
Hướng Dẫn Sử Dụng Vòng Lặp For.. Next Trong VBA - MarvelVietnam
-
Excel - Vòng Lặp For Trong VBA - Thủ Thuật
-
Bài 7: Vòng Lặp Trong VBA | Cùng Học Excel
-
Hướng Dẫn Cách Sử Dụng Vòng Lặp For Each Trong VBA Excel
-
VBA Lồng Nhau Do Vòng Lặp Trong Khi đang Hoạt động Theo Chuỗi