Makro Excel 2013 VBA Vymazať všetky filtre

Zdá sa, že staršie makrá nefungujú. Mám správne nastavené zabezpečenie na spúšťanie makier VBA, ale keď som vyskúšal niekoľko metód na vymazanie VŠETKÝCH filtrov na pracovnom hárku, dostal som chybu kompilácie.

Toto som skúšal:


Sub AutoFilter_Remove()
'Toto makro odstráni akékoľvek filtrovanie, aby sa zobrazili všetky údaje, ale neodstráni šípky filtra
ActiveSheet.ShowAllData
End Sub

Na hárkoch mám tlačidlá na vymazanie všetkých filtrov pre uľahčenie používania pre používateľov, keďže hárky majú veľa stĺpcov, na ktorých sú filtre.

Skúste toto:

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
Komentáre (3)
Riešenie

Ak je na hárku už filter, potom:

Sub Macro1()
    Cells.AutoFilter
End Sub

ho odstráni.

Komentáre (1)

Skúste niečo podobné:

Sub ClearDataFilters()
'Clears filters on the activesheet. Will not clear filters if the sheet is protected.
On Error GoTo Protection
If ActiveWorkbook.ActiveSheet.FilterMode Or _
   ActiveWorkbook.ActiveSheet.AutoFilterMode Then _
   ActiveWorkbook.ActiveSheet.ShowAllData

Exit Sub
Protection:
If Err.Number = 1004 And Err.Description = _ 
    "ShowAllData method of Worksheet class failed" Then
    MsgBox "Unable to Clear Filters. This could be due to protection on the sheet.", _
    vbInformation
End If

End Sub

.FilterMode vráti true, ak je pracovný hárok v režime filtrovania. (Viac informácií nájdete v tomto dokumente.) Viac informácií o .AutoFilter nájdete v tomto.
A nakoniec toto poskytne viac informácií o metóde .ShowAllData.

Komentáre (0)