- Tắt Tự động lọc trong Trang tính Hoạt động trong VBA
- Bật AutoFilter trong Active Worksheet trong VBA
- Tắt Tự động lọc trong tất cả các Trang tính trong VBA.
- Tắt Tự động lọc trong tất cả các Trang tính trong VBA.
- Xóa tất cả các bộ lọc trong bảng hoạt động trong VBA
- Xóa tất cả các bộ lọc trong tất cả các Trang tính trong VBA
- Xóa tất cả các bộ lọc trong một bảng trong VBA
Hướng dẫn này sẽ trình bày cách tắt / xóa Bộ lọc tự động trong VBA.
Bộ lọc tự động có thể được bật hoặc tắt bằng mã VBA.
Tắt Tự động lọc trong Trang tính Hoạt động trong VBA
Ví dụ mã sau đây tắt Tự động lọc trong Trang tính Hoạt động, trước tiên hãy kiểm tra xem nó chưa Tắt.
12345 | Public Sub KillFilter ()Nếu ActiveSheet.AutoFilterMode ThìActiveSheet.AutoFilterMode = SaiKết thúc nếuKết thúc Sub |
Bật AutoFilter trong Active Worksheet trong VBA
Ví dụ mã sau bật Tự động lọc trong Trang tính Hoạt động, trước tiên hãy kiểm tra xem nó chưa được bật.
12345 | Public Sub StartFilter ()Nếu không ActiveSheet.AutoFilterMode thìActiveSheet.Range ("A1"). Tự động lọcKết thúc nếuKết thúc Sub |
Tắt Tự động lọc trong tất cả các Trang tính trong VBA.
Ví dụ mã sau đây lặp qua từng trang tính trong toàn bộ sổ làm việc và tắt Bộ lọc Tự động trong mỗi trang tính, trước tiên hãy kiểm tra xem bộ lọc trong sổ làm việc hiện tại chưa được bật.
12345678 | Public Sub StopAllFilters ()Dim ws As WorksheetĐối với mỗi ws Trong ActiveWorkbook.WorksheetsNếu ws.AutoFilterMode = Đúng thìws.AutoFilterMode = SaiKết thúc nếuTuần tiếp theoKết thúc Sub |
Tắt Tự động lọc trong tất cả các Trang tính trong VBA.
Tương tự, ví dụ mã sau đây lặp lại toàn bộ sổ làm việc và bật Tự động lọc trong mỗi trang tính, trước tiên hãy kiểm tra xem bộ lọc trong sổ làm việc hiện tại chưa được bật.
12345678 | Public Sub StartAllFilters ()Dim ws As WorksheetĐối với mỗi ws Trong ActiveWorkbook.WorksheetsIf Not ws.AutoFilterMode Thenws.Range ("A1"). Tự động lọcKết thúc nếuTuần tiếp theoKết thúc Sub |
Xóa tất cả các bộ lọc trong bảng hoạt động trong VBA
Ví dụ mã sau đây bật Tự động lọc trong Trang tính Hoạt động, nhưng xóa bất kỳ bộ lọc nào được áp dụng cho dữ liệu.
12345 | Public Sub ClearFilter ()Nếu ActiveSheet.FilterMode = Đúng thìActiveSheet.ShowAllDataKết thúc nếuKết thúc Sub |
Xóa tất cả các bộ lọc trong tất cả các Trang tính trong VBA
Tương tự, ví dụ mã sau đây lặp lại toàn bộ sổ làm việc và để Bộ lọc Tự động được bật trong mỗi trang tính nếu nó đã được bật, nhưng xóa bất kỳ bộ lọc nào được áp dụng cho dữ liệu.
12345678 | Public Sub ClearAllFilters ()Dim ws As WorksheetĐối với mỗi ws Trong ActiveWorkbook.WorksheetsNếu ws.FilterMode = Đúng thìws.ShowAllDataKết thúc nếuTuần tiếp theoKết thúc Sub |
Xóa tất cả các bộ lọc trong một bảng trong VBA
Nếu trang tính của chúng tôi chứa một đối tượng bảng, chúng tôi có thể điều chỉnh mã để chỉ xóa bất kỳ bộ lọc nào được áp dụng cho bộ lọc đó, trong khi vẫn bật Tự động lọc.
123456789 | Sub ClearFilterFromTable ()Dim ws As WorksheetDim sTable As StringDim loTable As ListObjectsTable = "Table1"Đặt ws = ActiveSheetĐặt loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataKết thúc Sub |
Nếu đối tượng bảng được liên kết với Pivot Table, thì bảng Pivot sẽ làm mới tương ứng.