Mục lục
Excel Sắp xếp & Lệnh lọc có phạm vi giới hạn đối với Lọc dữ liệu . Nhưng sử dụng VBA bạn có thể Lọc dữ liệu trong một phạm vi rộng tùy ý. Bài viết này sẽ cung cấp cho bạn 8 ví dụ hữu ích sử dụng mã VBA để Lọc dữ liệu trong excel bằng mã VBA với hình ảnh minh họa sinh động.
Tải xuống Sách bài tập thực hành
Bạn có thể tải xuống mẫu Excel miễn phí từ đây và tự thực hành.
Mã VBA để lọc dữ liệu.xlsm
8 ví dụ sử dụng mã VBA để lọc dữ liệu trong Excel
Trước tiên, chúng ta hãy làm quen với tập dữ liệu đại diện cho một số Giới tính, trạng thái của học sinh và Tuổi .
1. Sử dụng mã VBA để lọc dữ liệu dựa trên tiêu chí văn bản trong Excel
Trong ví dụ đầu tiên của chúng tôi, chúng tôi sẽ chỉ sử dụng VBA để Filter Sinh viên nam từ cột Giới tính của tập dữ liệu.
Các bước:
- Nhấp chuột phải trên tiêu đề trang tính .
- Sau đó chọn Mã xem từ Menu ngữ cảnh .
Sắp có sau đó, một cửa sổ VBA sẽ mở ra.
- Nhập các mã sau vào it-
8061
- Sau đó, thu nhỏ VBA
Phân tích mã
- Ở đây, tôi đã tạo thủ tục Sub , Filter_Data_Text() .
- Sau đó, sử dụng Thuộc tính Range để khai báo tên trang tính tương ứng của chúng tôi và phạm vi
- Tiếp theo, tôi đã sử dụng phương pháp Tự động lọc để sử dụng Tiêu chí do tôi chọn trong đó Trường:=2 có nghĩa là cột 2 . Và Criteria1:=”Nam” để Lọc dữ liệu cho Nam.
- Sau đó, đến mở hộp thoại Macro , nhấp vào như sau: Nhà phát triển > Macro.
- Chọn Tên macro như được đề cập trong mã .
- Cuối cùng, chỉ cần nhấn Run .
Bây giờ hãy xem chúng ta chỉ có Dữ liệu của sinh viên nam sau khi Lọc .
Đọc thêm: Dữ liệu lọc Excel dựa trên Giá trị ô (6 cách hiệu quả)
2. Áp dụng mã VBA để lọc dữ liệu với nhiều tiêu chí trong một cột
Ở đây, chúng tôi sẽ Lọc cho nhiều tiêu chí trong một cột. Từ cột số ba của tập dữ liệu, chúng tôi sẽ Lọc cho sinh viên Cao học và Sau đại học .
Các bước:
- Làm theo hai bước đầu tiên của ví dụ đầu tiên để mở cửa sổ VBA .
- Sau đó, nhập các mã sau vào đó-
9355
- Sau đó thu nhỏ VBA
Phân tích mã
- Ở đây, tôi đã tạo thủ tục Phụ , Filter_One_Column() .
- Sau đó, sử dụng thuộc tính Phạm vi để khai báo tên trang tính và phạm vi
- tương ứng của chúng tôi Tiếp theo, tôi đã sử dụng phương pháp AutoFilter để sử dụng Tiêu chí mà tôi chọn trong đó Trường:=3 có nghĩa là cột 3 . Tại đây, Tiêu chí1:=”Tốt nghiệp” và Tiêu chí2:=”Sau đại học” đến Lọc Trạng thái của sinh viên.
- Cuối cùng, tôi đã sử dụng Toán tử:=xlOr để áp dụng điều kiện OR Filter cho nhiều tiêu chí.
- Lúc này ngay bây giờ, làm theo bước thứ ba từ ví dụ đầu tiên để mở hộp thoại Macro .
- Sau đó, chọn Tên macro đã chỉ định và nhấn Chạy .
Ngay sau đó, bạn sẽ nhận được các hàng Đã lọc dựa trên nhiều tiêu chí như hình bên dưới.
Đọc thêm: Lọc nhiều tiêu chí trong Excel (4 cách phù hợp)
3. Áp dụng mã VBA để lọc dữ liệu với nhiều tiêu chí trong các cột khác nhau trong Excel
Bây giờ chúng ta sẽ Lọc cho nhiều tiêu chí- Nam và Tốt nghiệp sinh viên.
Các bước:
- Làm theo hai bước đầu tiên của ví dụ đầu tiên để mở VBA
- Sau đó, viết các mã sau vào đó-
6243
- Sau thu nhỏ cửa sổ VBA .
Phân tích mã
- Ở đây, tôi đã tạo thủ tục Sub , Filter_Different_Columns() .
- Sau đó, tôi sử dụng câu lệnh With để sử dụng Nhiều Cột .
- Sau đó sử dụng Phạm vi để khai báo tên trang tính và phạm vi
- Tiếp theo, tôi đã sử dụng phương thức AutoFilter để sử dụng Criteria của lựa chọn của tôi trong đó Field:=2 có nghĩa là cột 2 và Field:=3 có nghĩa là cột 3 .
- Ở đây , đã chọn Tiêu chí1:=”Nam” cho cột Giới tính và Tiêu chí1:=”Tốt nghiệp” cho cột Trạng thái thành Bộ lọc dữ liệu từ các cột khác nhau .
- Sau đó làm theo bước thứ ba từ ví dụ đầu tiên để mở Hộp thoại Macro .
- Sau đó, chọn Tên macro đã chỉ định và nhấn Chạy .
Đây là kết quả của nhiều tiêu chí.
Đọc thêm: VBA Excel để lọc trong cùng một cột theo nhiều tiêu chí (6 ví dụ)
4. Sử dụng mã VBA để lọc 3 mục hàng đầu trong Excel
Trong ví dụ này, chúng tôi sẽ lọc ba sinh viên hàng đầu theo tuổi của họ.
Các bước:
- Làm theo hai bước đầu tiên của ví dụ đầu tiên để mở cửa sổ VBA .
- Sau đó nhập các mã sau vào đó-
5394
- Sau đó giảm thiểu Cửa sổ VBA .
Phân tích mã
- Đây, tôi đã tạo một thủ tục Sub , Filter_Top3_Items() .
- Và sau đó sử dụng Operator:=xlTop10Items to Filter cho ba người đứng đầu dữ liệu .
- Bây giờ hãy làm theo bước thứ ba từ ví dụ đầu tiên để mở Hộp thoại Macros .
- Sau đó chọn tên Macro như được đề cập trong mã và nhấn Chạy .
Sau đó, bạn sẽ nhận được kết quả như hình bên dưới-
Đọc thêm: Cách lọc dựa trên giá trị ô bằng Excel VBA (4 phương pháp)
Các bài đọc tương tự
- Cách sao chép và dán khi nào Bộ lọc được áp dụng trong Excel
- Cách lọc các giá trị duy nhất trong Excel (8 cách dễ dàng)
- Lọc nhiều tiêu chí trong Excel bằng VBA (Cả hai Các loại AND và OR)
- Cách sử dụng Bộ lọc văn bản trong Excel (5 ví dụ)
- Cách lọc theo ngày trong Excel (4 nhanh Phương pháp)
5. Sử dụng mã VBA để lọc 50 phần trăm hàng đầu trong Excel
Hãy sử dụng mã VBA để lọc 50 phần trăm hàng đầu học sinh dựa trên độ tuổi của họ .
Các bước:
- Đầu tiên, Thực hiện theo hai bước đầu tiên của ví dụ đầu tiên để mở cửa sổ VBA .
- Sau đó, nhập các mã sau vào đó-
5390
- Thu nhỏ cửa sổ VBA .
Phân tích mã
- Ở đây, tôi đã tạo thủ tục Sub , Filter_Top50_Percent() .
- Sau đó, sử dụng Operator:=xlTop10Percent thành Lọc năm mươi phần trăm hàng đầu từ cột-4 .
- Tại thời điểm này, hãy làm theo bước thứ ba từ ví dụ đầu tiên để mở Hộp thoại Macro.
- Sau đó chọn Tên Macro đã chỉ định và nhấn Run .
Có tổng cộng 7 sinh viên nên đối với 50 phần trăm , nó hiển thị khoảng ba sinh viên .
Đọc thêm: Cách sử dụng công thức phần trăm lợi nhuận trong Excel (3 ví dụ)
6 . Áp dụng mã VBA để lọc dữ liệu bằng ký tự đại diện
Chúng ta có thể sử dụng Ký tự đại diện-* (dấu hoa thị) trong Mã VBA để lọc dữ liệu trong Excel. Từ cột Trạng thái , chúng tôi sẽ chỉ lọc các giá trị chứa 'Đăng' .
Các bước:
- Làm theo hai bước đầu tiên của ví dụ đầu tiên để mở cửa sổ VBA .
- Sau đó viết các mã sau trong đó-
9964
- Sau đó, thu nhỏ cửa sổ VBA .
Phân tích mã
- Ở đây, tôi đã tạo thủ tục Sub , Filter_with_Wildcard() .
- Sau đó, sử dụng Phạm vi (“B4”) để đặt phạm vi.
- Tiếp theo , đã sử dụng Tự động lọc đến Lọc trong Trường:=3 có nghĩa là cột 3.
- Tiêu chí1:=”*Đăng *” để Lọc các giá trị chứa 'Đăng'.
- Bây giờ hãy làm theo bước thứ ba từ đầu tiên ví dụ để mở hộp thoại Macrohộp.
- Chọn Tên macro đã chỉ định và nhấn Chạy .
Sau đó, bạn sẽ nhận được đầu ra mong muốn.
Đọc thêm: Cách thêm bộ lọc trong Excel (4 phương pháp )
7. Nhúng Excel VBA để sao chép dữ liệu đã lọc vào một trang tính mới trong Excel
Xem rằng có một số dữ liệu đã lọc trong tập dữ liệu của tôi. Bây giờ tôi sẽ sao chép chúng vào một trang tính mới bằng cách sử dụng VBA . Các mã này sẽ không hoạt động bình thường trong trang tính, bạn sẽ phải áp dụng chúng trong mô-đun.
Các bước:
- Nhấn Alt+F11 để mở VBA
- Sau đó nhấp vào Chèn > Mô-đun để mở một mô-đun .
- Bây giờ viết các mã sau –
6508
- Sau đó thu nhỏ VBA
Phân tích mã
- Ở đây, tôi đã tạo thủ tục Sub , Copy_Filtered_Data_NewSheet() .
- Sau đó đã khai báo hai biến- x Rng Là Phạm vi và xWS Là Trang tính.
- Sau đó, sử dụng một câu lệnh IF để kiểm tra Đã lọc
- Sau đó, sử dụng MsgBox để hiển thị đầu ra.
- Sau đó, sử dụng Bảng tính(“Sao chép dữ liệu đã lọc”).Tự động lọc .Range để chọn phạm vi Đã lọc và sử dụng Add để thêm trang tính mới.
- Cuối cùng, Phạm vi sao chép(“G4”) sẽ sao chép dữ liệu Đã lọc sang trang tính mới .
- Sau đó, hãy làm theo hướng dẫnbước thứ ba từ ví dụ đầu tiên để mở hộp thoại Macro .
- Sau đó chọn Tên macro<đã chỉ định 2> và nhấn Chạy .
Bây giờ, hãy xem Excel đã mở một trang tính mới và sao chép các hàng Đã lọc.
Đọc thêm: Phím tắt cho Bộ lọc Excel (3 cách sử dụng nhanh kèm ví dụ)
8. Áp dụng mã VBA để lọc dữ liệu bằng danh sách thả xuống
Trong ví dụ cuối cùng của chúng tôi, trước tiên chúng tôi sẽ tạo danh sách thả xuống cho giới tính, sau đó chúng tôi sẽ sử dụng danh sách đó để lọc dữ liệu. Vì vậy, tôi đã đặt tiêu chí giới tính ở một vị trí khác và chúng ta sẽ tạo một danh sách thả xuống trong Ô D14 .
Các bước:
- Chọn Ô D14 .
- Sau đó nhấp vào như sau: Dữ liệu > Công cụ Dữ liệu > Xác thực Dữ liệu > Xác thực dữ liệu.
Ngay sau đó, hộp thoại sẽ mở ra.
Chọn Liệt kê từ trình đơn thả xuống Cho phép .
Sau đó nhấp vào biểu tượng Mở từ hộp Nguồn .
Bây giờ chọn phạm vi tiêu chí và nhấn nút Enter .
- Tại thời điểm này, chỉ cần nhấn OK .
Bây giờ, danh sách thả xuống của chúng tôi đã sẵn sàng.
- Bây giờ Hãy làm theo hai bước đầu tiên của ví dụ đầu tiên để mở cửa sổ VBA .
- Sau đó viết các mã sau vào đó-
1944
- Sau đó thu nhỏ VBAcửa sổ .
Phân tích mã
- Ở đây, tôi đã tạo a Quy trình phụ riêng tư, Worksheet_Change(ByVal Target As Range).
- Sau đó, tôi đã chọn Bảng tính từ Chung và Thay đổi từ Khai báo .
- Sau đó đặt Địa chỉ để biết vị trí.
- Cuối cùng, trong câu lệnh IF đã sử dụng phương thức Tự động lọc với Trường và Tiêu chí
- Bây giờ chỉ cần chọn tiêu chí từ danh sách thả xuống và Bộ lọc sẽ được kích hoạt .
Đây là đầu ra Đã lọc sau khi chọn Nam từ trình đơn thả xuống .
Đọc thêm: Cách lọc theo danh sách trong một trang tính khác trong Excel (2 phương pháp)
Phần thực hành
Bạn sẽ nhận được một bảng thực hành trong tệp Excel ở trên để thực hành các cách đã giải thích.
Kết luận
Tôi hy vọng các quy trình được mô tả ở trên sẽ đủ tốt để sử dụng mã VBA để Lọc dữ liệu trong excel. Vui lòng đặt bất kỳ câu hỏi nào trong phần nhận xét và vui lòng gửi phản hồi cho tôi.