AutoFilter (bộ lọc tự động) là một trong những công cụ mạnh mẽ nhất trong Excel và ngay cả trong môi trường VBA, hơn nữa nó cũng rất dễ để sử dụng.
Việc sử dụng AutoFilter rất hữu ích trong việc lọc dữ liệu để chỉ lấy những giá trị phù hợp từ 1 bảng dữ liệu lớn. Việc này sẽ giúp chúng ta tiết kiệm thời gian và tài nguyên hơn nhiều so với việc sử dụng vòng lặp với cùng 1 điều kiện. Mặc dù việc này trái ngược với tư duy lập trình thông thường (sử dụng các thuật toán về vòng lặp, điều kiện cho vòng lặp) nhưng rất hữu ích trong việc cá nhân hóa các yêu cầu làm việc của cá nhân, không mang nặng tính lập trình mà chú trọng vào tính hiệu quả công việc.
Hiệu quả của phương pháp này thông qua các bước sau:
Bước 1: Xác định điều kiện lọc
Bước 2: Thực hiện việc lọc bằng AutoFilter
Bước 3: Sử dụng SpecialCells để lấy những giá trị kết quả sau khi lọc
Bước 4: Kết hợp với copy / paste để lấy dữ liệu sang nơi cần lấy kết quả
Ví dụ 1: Vùng dữ liệu tĩnh, cố định
VungRange.Autofilter Cột áp dụng, Điều kiện áp dụng
Field:=1 là Filter tại cột thứ 1
Vì áp dụng trong vùng A1:A12 chỉ có 1 cột nên giá trị này chỉ có thể là 1.
Nếu Vùng A1:D20 thì có thể chọn cột cần lọc là cột A (=1), cột B (=2), cột C (=3), cột D (=4)
Criteria1:=”An” là giá trị cần lọc là các ô có giá trị là “An”
Câu lệnh Range(“$A$1:$A$12”).AutoFilter là tắt chức năng AutoFilter (vì ở bước trên đã mở chức năng Autofilter nên khi lặp lại lệnh này đồng nghĩa với việc tắt chức năng đó)
Ví dụ 2: Sử dụng AutoFilter trên mảng động
Mảng động ở đây có thể là Tính từ dòng bắt đầu bảng cho tới dòng cuối có chứa dữ liệu trong bảng
Criteria1:=”An”
Điều kiện dạng kết hợp toán tử: Ký hiệu toán tử + dấu & + Giá trị tham chiếu (có thể đặt trong dấu nháy kép)
Điều kiện khác rỗng
Qua bài học này chúng ta có thể ứng dụng AutoFilter vào nhiều công việc khác nhau, đặc biệt là về phân tích và trích lọc dữ liệu.
VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook … giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp …