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 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
.