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

0088

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.

0089

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.

Tải xuống tệp

Bài viết liên quan:

Bài viết phổ biến: