Dezactivați filtrul automat din cod - Exemple de cod VBA

Acest tutorial va arăta cum să dezactivați / ștergeți filtrele automate în VBA.

Filtrele automate pot fi activate sau dezactivate folosind codul VBA.

Dezactivați AutoFilter în foaia de lucru activă în VBA

Următorul exemplu de cod dezactivează filtrul automat în foaia activă, verificând mai întâi că nu este deja dezactivat.

12345 Public Sub KillFilter ()Dacă ActiveSheet.AutoFilterMode ApoiActiveSheet.AutoFilterMode = FalsEnd IfSfârșitul Sub

Activați AutoFilter în foaia de lucru activă în VBA

Următorul exemplu de cod activează Filtrul automat în foaia activă, verificând mai întâi că nu este deja activat.

12345 Public Sub StartFilter ()Dacă nu este ActiveSheet.AutoFilterMode, atunciActiveSheet.Range ("A1"). AutoFilterEnd IfSfârșitul Sub

Dezactivați AutoFilter în toate foile de lucru din VBA.

Următorul exemplu de cod parcurge fiecare foaie din întregul registru de lucru și dezactivează AutoFilter în fiecare foaie de lucru, verificând mai întâi dacă filtrul din registrul de lucru curent nu este deja activat.

12345678 Sub public StopAllFilters ()Dim ws Ca foaie de lucruPentru fiecare ws din ActiveWorkbook.WorksheetsDacă ws.AutoFilterMode = Adevărat atunciws.AutoFilterMode = FalseEnd IfUrmătorul wsSfârșitul Sub

Dezactivați filtrul automat în toate foile de lucru din VBA.

În mod similar, următorul exemplu de cod parcurge întregul registru de lucru și activează AutoFilter în fiecare foaie, verificând mai întâi dacă filtrul din registrul de lucru curent nu este deja activat.

12345678 Public Sub StartAllFilters ()Dim ws Ca foaie de lucruPentru fiecare ws din ActiveWorkbook.WorksheetsDacă nu ws.AutoFilterMode Apoiws.Range („A1”). AutoFilterEnd IfUrmătorul wsSfârșitul Sub

Ștergeți toate filtrele din foaia de lucru activă în VBA

Următorul exemplu de cod lasă filtrul automat activat în foaia activă, dar șterge orice filtru aplicat datelor.

12345 Public Sub ClearFilter ()Dacă ActiveSheet.FilterMode = True AtunciActiveSheet.ShowAllDataEnd IfSfârșitul Sub

Ștergeți toate filtrele din toate foile de lucru din VBA

În mod similar, următorul exemplu de cod parcurge întregul registru de lucru și lasă AutoFilterul activat în fiecare foaie dacă este deja activat, dar șterge orice filtru aplicat datelor.

12345678 Public Sub ClearAllFilters ()Dim ws Ca foaie de lucruPentru fiecare ws din ActiveWorkbook.WorksheetsDacă ws.FilterMode = Adevărat atunciws.ShowAllDataEnd IfUrmătorul wsSfârșitul Sub

Ștergeți toate filtrele dintr-un tabel în VBA

În cazul în care foaia noastră de lucru conține un obiect de tabel, putem ajusta codul pentru a șterge orice filtru aplicat acelui filtru, lăsând în același timp filtrul automat pornit.

123456789 Sub ClearFilterFromTable ()Dim ws Ca foaie de lucruDim sTable As StringDim loTable As ListObjectsTable = "Table1"Setați ws = ActiveSheetSetați loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataSfârșitul Sub

În cazul în care obiectul tabelului este legat de un tabel pivot, atunci tabelul pivot se va reîmprospăta în consecință.

wave wave wave wave wave