Computer >> Máy Tính >  >> Phần mềm >> Office

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Khi làm việc với lượng lớn dữ liệu và được yêu cầu đặt nhiều bộ lọc cùng một lúc, Lọc nâng cao trong Excel có ích. Nó cũng có thể được áp dụng để làm sạch dữ liệu của bạn bằng cách xóa các bản sao. Trong khi áp dụng Bộ lọc nâng cao , VBA mã dễ thực thi hơn nhiều. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách áp dụng Bộ lọc nâng cao VBA cho nhiều phạm vi tiêu chí trong Excel .

5 phương pháp hiệu quả cho bộ lọc nâng cao VBA với nhiều tiêu chí trong một phạm vi trong Excel

Trong các phần tiếp theo bên dưới, chúng ta sẽ thảo luận về 5 phương pháp sử dụng Bộ lọc nâng cao VBA cho nhiều tiêu chí. Lúc đầu, bạn có thể cần biết cú pháp của Bộ lọc nâng cao VBA .

Cú pháp bộ lọc nâng cao VBA:

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

  • AdvancedFilter: đề cập đến một đối tượng phạm vi. Bạn có thể đặt phạm vi mà bạn muốn áp dụng Bộ lọc.
  • Hành động: là đối số bắt buộc có hai tùy chọn, xlFilterInPlace hoặc xlFilterCopy . xlFilterInPlace được sử dụng để lọc giá trị tại nơi chứa tập dữ liệu. xlFilterCopy được sử dụng để lấy giá trị bộ lọc ở một vị trí mong muốn khác.
  • CriteriaRange: đại diện cho các tiêu chí mà giá trị sẽ được lọc.
  • CopyToRange: là vị trí bạn sẽ lưu kết quả lọc của mình.
  • Duy nhất: là một đối số tùy chọn. Sử dụng True để chỉ lọc các giá trị duy nhất. Nếu không, theo mặc định, nó được coi là Sai .

Trong hình ảnh bên dưới, một tập dữ liệu mẫu được cung cấp để áp dụng tất cả các bộ lọc mà chúng tôi muốn thực hiện.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

1. Áp dụng Bộ lọc nâng cao VBA cho tiêu chí HOẶC trong một phạm vi trong Excel

Trong phương pháp đầu tiên, chúng tôi sẽ áp dụng HOẶC tiêu chí sử dụng Bộ lọc nâng cao VBA . Giả sử, chúng tôi muốn lọc dữ liệu cho tên sản phẩm Cookie Sô cô la . Để áp dụng HOẶC tiêu chí, bạn nên đặt giá trị trong các hàng khác nhau. Thực hiện theo các bước được nêu bên dưới để thực hiện nhiệm vụ.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 1:

  • Nhấn Alt + F11 để mở VBA Macro .
  • Nhấp vào Chèn.
  • Chọn Mô-đun.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 2:

  • Sau đó, dán VBA sau mã để áp dụng HOẶC.
Sub Apply_VBA_Advanced_Filter_for_OR_Criteria()
'Declare Variable for dataset range and for criteria range
 Dim Dataset_Rng As Range
 Dim Criteria_Rng As Range
'Set the location and range of datase range and criteria range
 Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11")
 Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16")
'Apply Advanced Filter to filter the dataset using the criteria
 Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 3:

  • Sau đó, lưu chương trình và nhấn F5 để chạy.
  • Do đó, bạn sẽ nhận được kết quả đã lọc như trong hình dưới đây.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Ghi chú. Để đảo ngược quy trình hoặc xóa tất cả dán bộ lọc và chạy VBA chương trình.

Sub Remove_All_Filter()
 On Error Resume Next
'command to remove all the filter to show the previous dataset
 ActiveSheet.ShowAllData
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

  • Do đó, bạn sẽ nhận được phiên bản trước của tập dữ liệu của mình.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Đọc thêm:Ví dụ về bộ lọc nâng cao với tiêu chí trong Excel VBA (6 tiêu chí)

2. Thực hiện Bộ lọc nâng cao VBA cho tiêu chí VÀ trong một phạm vi trong Excel

Tương tự như phương pháp trước, bây giờ chúng tôi sẽ thực hiện VBA Bộ lọc nâng cao cho tiêu chuẩn. Giả sử chúng tôi muốn biết các cookie có giá $ 0,65 như thể hiện trong ảnh chụp màn hình bên dưới. Để áp dụng HOẶC tiêu chí, bạn nên đặt giá trị trong các cột khác nhau. Để áp dụng tiêu chí, hãy làm theo hướng dẫn bên dưới.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 1:

  • Để mở VBA Macro , nhấn Alt + F11
  • Sau khi mở VBA Macro , dán VBA sau mã trong Mô-đun mới.
Sub Apply_VBA_Advanced_Filter_for_AND_Criteria()
'Declare Variable for dataset range and for criteria range
 Dim Dataset_Rng As Range
 Dim Criteria_Rng As Range
'Set the location and range of dataset range and criteria range
 Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11")
 Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15")
'Apply Advanced Filter to filter the dataset using the criteria
 Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 2:

  • Nhấn F5 để chạy chương trình sau khi bạn đã lưu.
  • Cuối cùng, nhận kết quả đã lọc.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Đọc thêm: VBA để sao chép dữ liệu sang trang tính khác với bộ lọc nâng cao trong Excel

3. Sử dụng Bộ lọc nâng cao VBA cho tiêu chí OR với AND trong một phạm vi trong Excel

Bạn cũng có thể áp dụng HOẶC cả hai tiêu chí kết hợp. Ví dụ:bạn muốn nhận các giá trị cho Cookie hoặc Sôcôla , nhưng đối với Cookie, có một giá tiêu chí khác $ 0,65 sẽ được áp dụng. Thực hiện theo các quy trình dưới đây để hoàn thành.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 1:

  • Dán VBA sau mã sau khi mở VBA Macro .
Sub Apply_VBA_Advanced_Filter_for_OR_with_AND_Criteria()
'Declare Variable for dataset range and for criteria range
 Dim Dataset_Rng As Range
 Dim Criteria_Rng As Range
'Set the location and range of dataset range and criteria range
 Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11")
 Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16")
'Apply Advanced Filter to filter the dataset using the criteria
 Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 2:

  • Sau đó, lưu chương trình trước tiên bằng cách nhấn F5 để chạy nó.
  • Do đó, bạn sẽ tìm thấy các giá trị với nhất định và HOẶC.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Đọc thêm:Áp dụng bộ lọc nâng cao dựa trên nhiều tiêu chí trong một cột trong Excel

Bài đọc tương tự:

  • Bộ lọc Nâng cao với Nhiều Tiêu chí trong Excel (15 Ví dụ Thích hợp)
  • Bộ lọc Nâng cao Động Excel (VBA &Macro)
  • Cách Sử dụng Bộ lọc Nâng cao trong VBA (Hướng dẫn Từng bước)
  • Bộ lọc Nâng cao với Phạm vi Tiêu chí trong Excel (18 Ứng dụng)
  • Bộ lọc Nâng cao của Excel Không hoạt động (2 Lý do &Giải pháp)

4. Sử dụng Bộ lọc nâng cao VBA cho các giá trị duy nhất với nhiều tiêu chí trong Excel

Hơn nữa, nếu bạn có các bản sao trong tập dữ liệu của mình, bạn có thể xóa chúng trong khi lọc. Chúng tôi sẽ thêm Duy nhất đối số cho Đúng để chỉ nhận các giá trị duy nhất và xóa các giá trị trùng lặp. Thực hiện theo các hướng dẫn đã nêu.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 1:

  • Trước tiên, hãy mở VBA Macro bằng cách nhấn Alt + F11.
  • Dán VBA sau mã trong Mô-đun mới.
Sub Apply_VBA_Advanced_Filter_for_Unique_Values()
'Declare Variable for dataset range and for criteria range
 Dim Dataset_Rng As Range
 Dim Criteria_Rng As Range
'Set the location and range of dataset range and criteria range
 Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11")
 Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16")
'Apply Advanced Filter to filter the dataset using the criteria
 Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 2:

  • Sau đó, nhấn F5 để chạy chương trình sau khi lưu.
  • Do đó, bạn sẽ chỉ nhận được các giá trị duy nhất.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Đọc thêm:Cách sử dụng bộ lọc nâng cao chỉ dành cho bản ghi duy nhất trong Excel

5. Thực hiện Bộ lọc nâng cao VBA cho Trường hợp có điều kiện

Ngoài các phương pháp trước, bạn cũng có thể áp dụng các điều kiện với công thức. Ví dụ:chúng tôi muốn tìm Tổng giá lớn hơn $ 100 . Để hoàn thành, chỉ cần làm theo các bước.

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 1:

  • Trước tiên, để mở VBA Macro , nhấn Alt + F11 .
  • Chọn một Mô-đun mới và dán các mã VBA sau .
Sub Apply_VBA_Advanced_Filter_for_Formula()
'Declare Variable for dataset range and for criteria range
 Dim Dataset_Rng As Range
 Dim Criteria_Rng As Range
'Set the location and range of dataset range and criteria range
 Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11")
 Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15")
'Apply Advanced Filter to filter the dataset using the criteria
 Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Bước 2:

  • Thứ hai, lưu chương trình và nhấn F5 để xem kết quả.

Ghi chú. Ngoài ra, bạn có thể nhận được kết quả trong một không gian thuận lợi cho dù trong một phạm vi mới hay trong một trang tính mới bằng cách áp dụng xlFilterCopy hoạt động. Chỉ cần dán VBA và chạy chúng để nhận kết quả trong Sheet6 trong phạm vi B4:E11 .

'Declare Variable for dataset range and for criteria range
 Dim Dataset_Rng As Range
 Dim Criteria_Rng As Range
'Set the location and range of dataset range and criteria range
 Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11")
 Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15")
'Apply Advanced Filter to filter the dataset using the criteria
Dataset_Rng.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Criteria_Rng, CopyToRange:=Sheets("Sheet6").Range("B4:E11")
End Sub

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

  • Do đó, hãy xem kết quả cuối cùng trong một trang tính mới ‘Sheet6’ .

Excel VBA:Bộ lọc nâng cao với nhiều tiêu chí trong một phạm vi (5 phương pháp)

Đọc thêm:Cách sử dụng bộ lọc nâng cao nếu phạm vi tiêu chí chứa văn bản trong Excel

Kết luận

Tóm lại, tôi hy vọng bây giờ bạn đã hiểu cách sử dụng VBA bộ lọc nâng cao trong Excel để lọc nhiều phạm vi tiêu chí. Tất cả các phương pháp này nên được sử dụng để dạy và thực hành với dữ liệu của bạn. Xem qua sách thực hành và đặt những gì bạn đã học được để sử dụng. Nhờ sự hỗ trợ quan trọng của bạn, chúng tôi được truyền cảm hứng để tiếp tục trình bày những buổi hội thảo như thế này.

Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng liên hệ với chúng tôi. Vui lòng cho chúng tôi biết suy nghĩ của bạn trong phần bình luận bên dưới.

Exceldemy nhân viên sẽ trả lời thắc mắc của bạn nhanh nhất có thể.

Hãy ở lại với chúng tôi và tiếp tục học hỏi.

Các bài viết có liên quan

  • Bộ lọc Nâng cao của Excel [Nhiều Cột &Tiêu chí, Sử dụng Công thức &Bằng Ký tự Đại diện]
  • Cách Sử dụng Bộ lọc Nâng cao để Loại trừ Ô trống trong Excel (3 Thủ thuật Dễ dàng)
  • Excel VBA:Bộ lọc Nâng cao với Nhiều Tiêu chí trong Một Phạm vi (5 Phương pháp)
  • Cách Áp dụng Bộ lọc Nâng cao để Sao chép sang Vị trí Khác trong Excel