Excel 2013 VBA Makro til rydning af alle filtre

Det ser ud til, at ældre makroer ikke virker. Jeg har indstillet korrekt sikkerhed til at køre VBA-makroer, men når jeg har prøvet et par metoder til at rydde ALLE filtre på et regneark, får jeg en kompileringsfejl.

Her er, hvad jeg har prøvet:

Jeg har prøvet følgende:


Sub AutoFilter_Remove()
'Denne makro fjerner enhver filtrering for at vise alle data, men den fjerner ikke filterpilen
ActiveSheet.ShowAllData
End Sub

Jeg har knapper på arkene til at slette alle filtre for at gøre det nemmere for brugerne, da arkene har mange kolonner med filtre på dem.

Prøv dette:

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
Kommentarer (3)
Løsning

Hvis der allerede er et filter på arket, så:

Sub Macro1()
    Cells.AutoFilter
End Sub

vil fjerne det.

Kommentarer (1)

Prøv noget i denne retning:

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 returnerer sandt, hvis regnearket er i filtertilstand. (Se dette for flere oplysninger.) Se dette for yderligere oplysninger om .AutoFilter.
Og endelig giver dette flere oplysninger om metoden .ShowAllData.

Kommentarer (0)