Nếu bạn muốn áp dụng cùng một Macro này cho nhiều Worksheet khác nhau, bạn hãy đặt tên cho vùng mà bạn muốn lọc khoảng trắng đó. Khi đặt tên cho vùng, bạn nên nhớ đây sẽ là tên cục bộ, do đó ở hộp Insert/Name/Name In Workbooks, bạn phải kèm thêm tên Sheet hiện hành trước tên của vùng.
TD : Tại Sheet SoCai, vùng dữ liệu bạn cần lọc khoảng trắng là A4:J100, bạn hãy đặt tên cho vùng này là SoCai!Nonblank
Tại Sheet SoCTBH, vùng dữ liệu bạn cần lọc khoảng trắng là B5:K200, bạn hãy đặt tên là SoCTBH!Nonblank
Tương tự như vậy cho tất cả các Sheet khác. Bạn có thể tham khảo thêm trong Topic "Tên và nhãn trong công thức"
Bây giờ, bạn sẽ ghi Macro theo hướng dẫn của bạn tyfnmax ở trên, gán phím tắt cho Macro, và đặt tên cho Macro là Nonblank. Bạn mở cửa sổ VBA ra, nếu bạn đứng ở Sheet SoCai để tiến hành ghi Macro, bạn sẽ thấy đoạn Code như sau :
Sub Nonblank()
Range("A4:J100").Select
Selection.Autofilter
Selection.Autofilter Field:=1, Criteria1:="<>"
End Sub
Bạn hãy gõ chữ "Nonblank" vào thay cho "A4:J100". Bây giờ thì Macro của bạn sẽ áp dụng để lọc khoảng trắng cho bất cứ vùng nào mang tên Nonblank. Các bạn cũng có thể tạo một Contron như : Button, hay TextBox..và gán vào Macro trên.
Bạn cũng có thể áp dụng cho thao tác In bằng các đặt tên cho vùng cần in là "In" chẳng hạn và dùng Macro ghi lại thao tác tại một Sheet bất kỳ và sau đó, thay tên của vùng in cho dãy đã ghi theo Macro như trên
Nếu bạn chưa thực hiện được, bạn cứ nêu ý kiến, các Macro này, tôi đã tính biên soạn cho các bài học VBA để thực hiện "5 buổi học VBA" mà LeVanDuyet khởi xướng lúc trước