Excel 2013 VBA Notīrīt visus filtrus makro

Šķiet, ka vecāki makrouzdevumi nedarbojas. Man ir pareizi iestatīta VBA makroekrānu palaišana, bet, kad esmu izmēģinājis dažas metodes, lai notīrītu VISUS filtrus darblapā, saņemu kompilēšanas kļūdu.

Lūk, ko esmu izmēģinājis:


Sub AutoFilter_Remove()
'Šis makro noņem jebkādu filtrēšanu, lai parādītu visus datus, bet nenovāc filtra bultiņas.
ActiveSheet.ShowAllData
End Sub

Man lapās ir pogas, lai dzēstu visus filtrus, lai lietotājiem būtu vieglāk lietot, jo lapās ir daudz kolonnu, kurās ir filtri.

Izmēģiniet šo:

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
Komentāri (3)
Risinājums

Ja uz lapas jau ir filtrs, tad:

Sub Macro1()
    Cells.AutoFilter
End Sub

to noņems.

Komentāri (1)

Izmēģiniet kaut ko līdzīgu:

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 atgriež true, ja darblapa ir filtra režīmā. (Skatiet šo, lai iegūtu vairāk informācijas.) Skat. šo, lai uzzinātu vairāk par .AutoFilter.
Un visbeidzot, šis sniegs vairāk informācijas par .ShowAllData metodi.

Komentāri (0)