Hướng Dẫn Cách Tự động Lọc Dữ Liệu Trong Excel Dùng VBA
Có thể bạn quan tâm
Trong bài viết về Hướng dẫn cách lọc dữ liệu trong Excel có bài tập kèm theo, Gitiho đã hướng dẫn các bạn cách sử dụng bộ lọc Filter. Nhưng đó đều là các thao tác lọc hoàn toàn thủ công, bạn phải tác động trực tiếp vào bộ lọc. Việc đó có thể mất nhiều thời gian và kém hiệu quả nếu bạn phải sử dụng bộ lọc liên tục. Trong bài viết này Gitiho sẽ hướng dẫn các bạn cách tự động hóa cho bộ lọc Filter bằng cách sử dụng VBA.
XEM NHANH BÀI VIẾT
- 1 Cách tự động hóa cho bộ lọc Filter bằng cách sử dụng VBA
- 2 Tổng kết
Cách tự động hóa cho bộ lọc Filter bằng cách sử dụng VBA
Cách sử dụng VBA để tự động hóa cho các thao tác thường sử dụng trong Excel rất đơn giản. Bạn có thể áp dụng VBA với bộ lọc Filter như sau:
Bước 1: Mở thẻ View hoặc thẻ Developer trên thanh công cụ (nếu bạn chưa biết cách mở thẻ Developer thì xem hướng dẫn ở đây), sau đó bấm chọn mục Record Macro
Vị trí lệnh Record Macro trong thẻ View
Vị trí lệnh Record Macro trong thẻ Developer
Khi đó xuất hiện 1 cửa sổ thông tin về Macro được ghi, bạn có thể sửa lại tên macro tại mục Macro Name, hoặc để tên macro mặc định là Macro1 (số 1 có thể thay đổi sau mỗi lần bạn thực hiện record macro)
Bước 2: Thực hiện thao tác lọc dữ liệu trong cột Nhân viên với 1 tên nhân viên bất kỳ
Thực hiện lọc tên nhân viên bất kỳ
Bước 3: sau khi lọc xong, bạn chọn lại tới vị trí Record Macro đã thực hiện ở bước 1, lúc này sẽ hiển thị là Stop recording. Bạn hãy bấm vào nút Stop recording đó.
Vị trí nút lệnh Stop recording trên thẻ Developer
Bước 4: mở cửa sổ VBA (phím tắt là Alt + F11 hoặc bấm vào mục Visual Basic trong thẻ Developer) để kiểm tra xem đã có đoạn code cho thao tác lọc chưa.
- Trong cửa sổ Project, tại Workbook bài tập, kiểm tra xem có Module 1 không
- Nháy đúp chuột vào Module 1, kiểm tra xem có đoạn code như trong hình dưới đây không
Đoạn code thu được từ việc ghi lại thao tác lọc dữ liệu
Trong đoạn code này, chúng ta chú ý ở mục Criteria1:=”Mai”. Đây chính là điều kiện lọc mà chúng ta đã sử dụng ở bước 2.
Bước 5: Thay đổi điều kiện bằng giá trị tại ô E2
Bạn sửa lại chữ “Mai” bằng Range(“E2”).Value
Kết quả sau khi sửa như sau:
Bước 6: Tiếp tục thực hiện ghi Macro cho thao tác bỏ điều kiện lọc (Clear Filter):
Bấm chọn Record Macro > đặt tên Macro2 > thực hiện chọn thẻ Data, bấm chọn Clear Filter > Bấm chọn Stop Recording
Lúc này chúng ta thu được đoạn code cho thao tác bỏ lọc như sau:
Đoạn code thu được khi ghi lại macro cho thao tác bỏ lọc Clear Filter
Bước 7: Tại thẻ Project của VBA, bạn nháy đúp chuột vào tên Sheet nơi có chứa bảng dữ liệu. Tại phần cửa sổ viết code, bạn dán đoạn code dưới đây:
Private Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, Range(“E2”)) Is Nothing ThenIf Range(“E2”).Value = “” ThenMacro2ElseMacro1End IfEnd IfEnd Sub
Ý nghĩa của đoạn code là:
- Xét sự thay đổi trong Worksheet
- Nếu có sự thay đổi trong ô E2 thì
- Xét trường hợp ô E2 không có dữ liệu thì
- Chạy Macro2 (là macro bỏ điều kiện lọc)
- Nếu không thì (ô E2 có dữ liệu)
- Chạy Macro1 (là macro lọc theo điều kiện giá trị tại ô E2)
- kết thúc cấu trúc IF xét điều kiện ô E2 không có dữ liệu
- Kết thúc cấu trúc IF xét sự thay đổi tại ô E2
- Kết thúc Macro
Như vậy khi bạn thực hiện chọn 1 giá trị tại ô E2, ngay lập tức VBA sẽ chạy Macro1 – là macro lọc dữ liệu. Nếu bạn xóa nội dung trong ô E2, VBA sẽ chạy Macro2 – là macro bỏ điều kiện lọc. 2 việc này hoàn toàn tự động mỗi khi bạn có sự thay đổi tại ô E2.
Ngoài tự động lọc dữ liệu trên Excel, VBA còn có thể giúp bạn xử lý việc phân tích dữ liệu phức tạp hay tự động hóa quy trình lặp lại nhanh chóng trên Excel. Nếu bạn đang muốn học VBA thì có thể tham khảo các khóa sau tại Gitiho:
VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA
G-LEARNING 499,000đ 799,000đ Đăng ký Học thửVBAG02 - Ứng dụng Mảng, SQL và các Công cụ Nâng cao khác trong Excel và VBA
G-LEARNING 499,000đ 999,000đ Đăng ký Học thửTổng kết
Như vậy chúng ta đã biết cách sử dụng VBA để tự động hóa cho thao tác sử dụng bộ lọc Filter trong Excel rồi. Rất thú vị phải không nào. Bạn hãy tiếp tục theo dõi các bài viết khác của Gitiho nhé.
Từ khóa » Bỏ Filter Trong Vba
-
VBA Hủy Lọc AutoFilter. Sao Lại Không Gặp Lỗi ?? | Giải Pháp Excel
-
Turn Off Autofilter From Code - VBA Code Examples - Automate Excel
-
Cách Sử Dụng AutoFilter Trong VBA - Học Excel Online Miễn Phí
-
Top #10 Bỏ Filter Trong Excel Vba Xem Nhiều Nhất, Mới Nhất 8 ...
-
AutoFilter | Tự Học VBA
-
Làm Cách Nào để Xóa Bộ Lọc Khỏi Tất Cả Các Trang Tính Trong Sổ Làm ...
-
Sử Dụng Autofilter Trong VBA (Phần 2) - Thủ Thuật
-
Sử Dụng Autofilter Trong VBA (Phần 2) - PCGUIDE.VN
-
Auto Filter Trong Excel / TOP #10 Xem Nhiều Nhất & Mới Nhất 7 ...
-
Range.AutoFilter Method (Excel) - Microsoft Docs
-
[Hướng Dẫn] Cách Lọc Dữ Liệu Trong Excel Bằng Hàm VBA Nhanh ...
-
Cách Sử Dụng AutoFilter Trong VBA - Zaidap
-
VBA - AutoFilter Lọc Dữ Liệu Tự động - PLC Group
-
Ứng Dụng VBA Tối ưu Hóa Chức Năng Trích Lọc
-
Excel VBA – Auto Filter Data With AdvanceFilter (Lọc Dữ Liệu Tự động)
-
Hướng Dẫn Cách Sửa Lỗi Filter Trong Excel Bị Ẩn Dòng Không ...
-
Cách Tìm Kiếm Nhanh Trong Excel Bằng VBA-Filter