Tắt bộ lọc tự động từ mã - Ví dụ về mã 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.

wave wave wave wave wave