VBA Excel Cấp Tốc Bài 1 – Lọc Dữ Liệu Nhiều Điều Kiện Với Advanced Filter 4/2023

Video bài học số 1: Lọc dữ liệu VBA Excel

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

Trước khi đi mở màn lọc dữ liệu có điều kiện với Advanced Filter thì bạn nên hiểu một chú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 những câu lệnh để những thao tác trong Excel được triển khai tự động hóa. VBA làm được những gì ? VBA hoàn toàn có thể làm được tổng thể những việc làm mà Excel làm được Lưu trữ list, lên kế hoạch, nghiên cứu và phân tích dữ liệu, tăng trưởng những biểu đồ, kiến thiết 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.

mở visual basic

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

mở module để 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é.

mở đầu kết thúc code

Đầ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”).currentRegion
khai 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

code điều kiện

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

kết quả lọc có điều kiện

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.

chạy lệnh xóa

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.

chạy lện xóa trong excel

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

kết quả lọc với hai điều kiện

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.

tạo macro

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

tạo macro trong excel

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

xong macro

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.

macro lọc

Đ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 Range
Dim criterial_rg As Range
Dim copy_rg As Range

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

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

rg.AdvancedFilter xlFilterCopy, criterial_rg, copy_rg

End Sub

Nếu có vướng mắc hay gặp yếu tố gì cần giúp sức bạn hãy để lại phản hồi 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 thực tế tốt .

>> VBA Excel Cấp Tốc Bài 2 – In Bảng Cửu Chương

VBA Excel Cấp Tốc Bài 1 – Lọc Dữ Liệu Nhiều Điều Kiện Với Advanced Filter 4/2023

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay