Tự động hoá Advanced Filter với Recod Macro

Trong một bài viết gần đây, Học Excel Online đã giới thiệu tới các bạn cách sử dụng chức năng AutoFilter hiệu quả hơn, tự động hơn qua việc kết hợp với VBA, bạn có thể xem lại bài viết đó tại đây. Cũng liên quan tới trích lọc dữ liệu thì trong bài viết này mình xin giới thiệu tới các bạn việc sử dụng kết hợp Advanced Filter với Record Macro để tự động hóa hơn trong việc trích lọc dữ liệu.

Trích lọc nâng cao (Advanced Filter) là một trong những công cụ rất mạnh được Excel hỗ trợ giúp cho người dùng có thể trích lọc ra các thông tin, báo cáo với những điều kiện trích lọc khác nhau, sẽ hiệu quả hơn như thế nào nếu chúng ta kết hợp với việc Record Macro?.

Chuẩn bị ban đầu

Để cho nhanh thì mình xem phép lấy lại dữ liệu từ bài: Sử dụng AutoFilter hiệu quả hơn với VBA

Ta thực hiện việc trích lọc ra các thông tin về số lượng, doanh thu, chiết khấu của khu vực mà ta sẽ lựa chọn trong ô V3

  • Vùng dữ liệu (List range) của ta ở đây là: B5:E25
  • Điều kiện trích lọc (Criteria range) là vùng V2:V3
  • Và vùng U5:W5 là nơi ta đưa ra kết quả trích lọc (Copy to)

Sau khi đã xác định rõ ràng như trên thì bước tiếp theo  chúng ta sẽ thực hiện việc Record Macro là lưu lại quá trình Excel thực hiện Advanced Filter.

Record Macro quá trình thực hiện Advanced Filter

Tại nhóm Code trong Tab Developer bạn tìm tới Record Macro và bắt đầu thực hiện Advanced Filter để Excel lưu lại các đoạn Code.

Sau khi thực hiện xong thao tác trích lọc nâng cao bạn cho dừng Record, lúc này VBA đã thực hiện ghi lại toàn bộ các thao tác trong quá trình vừa rồi của bạn, để kiểm tra bạn mở VBA lên để xem. Bây giờ mỗi lần thay đổi khu vực bạn chỉ cần chạy lại đoạn Code đó thì dữ liệu tương ứng của khu vực đó sẽ được trích lọc ra mà bạn không phải thao tác lại việc Advanced Filter.

Lưu ý: Có thể dòng Code mà bạn ghi lại được sẽ không giống hoàn toàn như hình trên, nhưng dòng Code mình đóng khung đó thì sẽ cần phải giống

Tới đây thì công việc của ta đã hoàn thành. Ngoài ra, để tự động hoá hơn nữa, thay vì mỗi lần thay đổi khu vực bạn lại phải ấn để chạy lại Code thì bạn muốn việc chạy Code để lấy ra dữ liệu này VBA sẽ tự làm, tức là bạn chỉ cần thay đổi khu vực trong ô V3 thì Code sẽ chạy, bạn hoàn toàn có thể thực hiện điều đó bằng cách tại Sheet1 bạn tạo 1 sự kiện Worksheet_Change và thêm đoạn Code như sau:

Để hiểu kỹ hơn về các sự kiện trong VBA bạn có thể tham khảo bài viết:

Tìm hiểu về ý nghĩa và cách dùng các sự kiện trong vba excel

Như vậy qua bài viết này của Học Excel Online bạn đã biết thêm được cách sử dụng Advanced Filter kết hợp với việc Record Macro để có thể tự động quá hơn trong sử dụng công cụ trích lọc nâng cao, hy vọng bạn sẽ áp dụng vào công việc một cách hiệu quả. Để có thể hiểu và nắm được rõ hơn một số ứng dụng công cụ này bạn có thể tham khảo thêm.


Sử dụng advanced filter để lọc dữ liệu trùng trong excel

Advanced filter với criteria range là một câu điều kiện


Tác giả: daovanluan

· · ·

Khóa học mới xuất bản