Cách lặp qua trang tính trong Excel bằng VBA
Trong khi tự động hóa các tác vụ nhàm chán thông thường của excel trong VBA, bạn sẽ cần phải lặp lại từng trang tính. Và đó là lý do tại sao bạn ở đây, tất nhiên.
Hãy xem mã để lặp qua các trang tính trong sổ làm việc.
Mã VBA Để lặp lại tất cả các trang trong Activeworkbook và in các trang Tên
Sub loopSheets() For Each ws In ActiveWorkbook.Worksheets Debug.Print ws.Name Next ws End Sub
Đoạn mã vba ở trên, lặp qua từng trang tính trong sổ làm việc đang hoạt động và in tên trang tính
Nó hoạt động như thế nào?
Nó khá đơn giản. Chúng tôi yêu cầu VBA lưu trữ từng trang tính trong sổ làm việc đang hoạt động trong ws và sau đó in tên của nó bằng phương pháp name.
Vòng qua tất cả các trang trừ một trang
Vì vậy, nếu bạn đang cố gắng hợp nhất nhiều trang tính trong một trang tính chính, bạn sẽ cần phải lặp lại từng trang tính. sao chép dữ liệu của từng trang tính trong trang tính chính. Nhưng bạn sẽ muốn loại trừ trang chủ khỏi vòng lặp. Giả sử bạn đặt tên trang tính chính là “Chính”. Trong trường hợp đó, hãy sử dụng phương pháp này:
Sub loopSheets() For Each ws In ActiveWorkbook.Worksheets If ws.Name <> "Master" Then Debug.Print ws.Name & " Copied" End If Next ws End Sub
Nó gần giống như đoạn mã trên, chỉ có thêm câu lệnh If.
If ws.Name <> "Master" Then
Dòng này kiểm tra xem tên của trang tính hiện tại có phải là “Chính” hay không. nếu không, mã giữa if khối sẽ chạy. Khác mã bên trong nếu khối bị bỏ qua.
Vì vậy, các bạn, đây là cách bạn có thể lặp qua các trang tính trong excel. Tiếp theo, chúng ta sẽ tìm hiểu cách hợp nhất nhiều trang tính thành một bằng vba.