Code Vba Lọc Dữ Liệu Có Điều Kiện Với Vba Trong Excel, Giúp Đỡ Code: Trích Lọc Dữ Liệu Có Điều Kiện

Advanced Filter giúp chúng ta lọc ra những dòng dữ liệu thỏa mãn các điều kiện từ đơn giản tới phức tạp. Advanced Filter trong Excel cung cấp cho chúng ta rất nhiều chức năng lọc nhiều kiểu dữ liệu khác nhau như lọc theo chuỗi, lọc theo số, lọc ngày tháng và có thể xử lý và thỏa mãn rất nhiều tình huống trong công việc.

Advanced Filter lọc dữ liệu nhiều điều kiện.

Đang xem: Code vba lọc dữ liệu có điều kiện

Trước khi đi bắt đầu lọc dữ liệu có điều kiện với Advanced Filter thì bạn nên hiểu một ít về VBA.

VBA Excel là gì?

VBA là viết tắt của Visual Basic Application, là ứng dụng lập trình cơ bản trong Microsoft Office. Hiểu nôm na thì lập trình VBA trong Excel là việc ta viết các câu lệnh để các thao tác trong Excel được thực hiện tự động. VBA làm được những gì? VBA có thể làm được tất cả các công việc mà Excel làm được Lưu trữ danh sách, lên kế hoạch, phân tích dữ liệu, phát triển các biểu đồ, xây dựng chương trình,…

Bắt đầu thực hành lọc dữ liệu nhiều điều kiện với Advanced Filter.

Bạn cần chuẩn bị sẵn File để thực hành hoặc có thể tải File thực hành tại đây.Alt + f11 để mở cửa sổ Visual Basic.

Kích chuột phải vào Sheet 1 -> Insert -> Module -> hiện ra phần để mình viết code.

Vì đây là viết code để thực hiện nên sẽ có mở đầu và kết thúc.mở đầu code Sub Đặt_tên_cho_code mở ngoặc đóng ngoặc Enter phần kết thúc code tự hiện ra. Xem hình bên dưới để hình dung nhé.

Đầu tiên bạn phải khai báo biến Dim rg as range, rg này chính là vùng dữ liệu của mình. Nên mình đặt luôn Set rs = sheets(“Data”).Range(“B4”).currentRegion. Là khi bắt đầu từ B2 nó sẽ tự động bôi đen vùng dữ liệu.Và khai báo thêm biến Dim criterial_rg as range, rg này chính là vùng điều kiện. Nên cũng đặt luôn Set criterial_rs = sheets(“Data”).Range(“J4”).currentRegionkhai báo thêm vùng để chiết xuất dữ liệu Dim copy_rg as range, rg này là vùng chiết xuất dữ liệu. Nên cũng đặt luôn Set copy_rs = sheets(“Data”).Range(“M4”). dữ liệu thỏa điều kiện sẽ được copy ra bắt đầu từ M4.rg là vùng dữ liệu ta bắt đầu chạy với dòng code là: rg.AdvancedFilter xlFilterCopy, criterial_rg, copy_rg

Kết quả sau khi lọc thỏa mãn điều kiện.

Xem thêm:

Muốn thay đổi điều kiện lọc hay thêm điều kiện lọc trước hết ta phải xóa kết quả vừa lọc được. Để xóa kết quả vừa lọc được thì ra dùng lệnh: Sheets(“Data”).Range(“M:S”).Delete và cho chạy lệnh chạy lên này trước bằng cách kích vào lệnh và ấn Run.

Sau đó ta cho chạy lại lệnh của dữ liệu và Run lần nữa để sau đó bạn có thể thay đổi điều kiện lọc mà không cần phải thực hiện lại bước này.

kết quả sau khi xóa và thêm điều kiện lọc.

Tạo Macro.

Tạo Macro để khi chạy chương trình lọc bạn chỉ cần thêm điều kiện và kích vào Macro là chạy được chương trình lọc mà không cần phải mở Visual Basic lên.Vào thẻ Insert chọn hình trong mục Shapes sau đó giữ chuột trái kéo.

Kích chuột phải vào hình sau đó chọn Assign Macro.

kích vào tên chương trình lọc bạn tạo lúc đầu sau đó chọn ok.

Giờ bạn chỉ cần thêm hay chỉnh sửa điều kiện lọc sau đó kích vào Macro vừa tạo là có thể chạy chương trình lọc.

Xem thêm: Hướng Dẫn Cách Cài Win 10 Bằng Ổ Cứng Không Cần Usb Siêu Dễ, Cách Cài Đặt Windows 10 Từ Phân Vùng Ổ Cứng Trong

Đoạn code của lọc dữ liệu có điều kiện với Advanced Filter:

Sub loc_dieu_kien()Dim rg As RangeDim criterial_rg As RangeDim copy_rg As Range

Sheets(“Data”).Range(“M:S”).Delete

Set rg = Sheets(“Data”).Range(“B4”).CurrentRegionSet criterial_rg = Sheets(“Data”).Range(“J4”).CurrentRegionSet copy_rg = Sheets(“Data”).Range(“M4”)

rg.AdvancedFilter xlFilterCopy, criterial_rg, copy_rg

End Sub

Nếu có thắc mắc hay gặpvấn đề gì cần giúp đỡ bạn hãy để lại bình luận phía bên dưới mình sẽ giải đáp. Cảm ơn bạn đã đọc bài viết, Chúc bạn thực hành tốt.

Leave a comment

Your email address will not be published. Required fields are marked *