Se pare că macrourile mai vechi nu funcționează. Am setat securitatea corespunzătoare pentru a rula macro VBA, dar atunci când am încercat câteva metode pentru a șterge TOATE filtrele dintr-o foaie de calcul, primesc o eroare de compilare.
Iată ce am încercat:
Sub AutoFilter_Remover()
'Această macro elimină orice filtrare pentru a afișa toate datele, dar nu elimină săgețile de filtrare
ActiveSheet.ShowAllData
End Sub
Am butoane pe foi pentru a șterge toate filtrele pentru ușurința utilizatorilor, deoarece foile au o mulțime de coloane care au filtre pe ele.
Încercați ceva de genul acesta:
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
returnează true dacă foaia de lucru este în modul de filtrare. (Consultați acest lucru pentru mai multe informații).
A se vedea aceasta pentru mai multe informații despre .AutoFilter
.
Și, în cele din urmă, this va oferi mai multe informații despre metoda .ShowAllData
.