Excel 2013 VBA Εκκαθάριση όλων των φίλτρων μακροεντολή

Φαίνεται ότι οι παλαιότερες μακροεντολές δεν λειτουργούν. Έχω ρυθμίσει την κατάλληλη ασφάλεια για την εκτέλεση μακροεντολών VBA, αλλά όταν έχω δοκιμάσει μερικές μεθόδους για την εκκαθάριση ΟΛΩΝ των φίλτρων σε ένα φύλλο εργασίας, λαμβάνω ένα σφάλμα μεταγλώττισης.

Ακολουθούν οι δοκιμές που έκανα:

Δοκιμάστε αυτό:

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
Σχόλια (3)
Λύση

Εάν το φύλλο έχει ήδη ένα φίλτρο τότε:

Sub Macro1()
    Cells.AutoFilter
End Sub

θα το αφαιρέσει.

Σχόλια (1)

Δοκιμάστε κάτι τέτοιο:

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 επιστρέφει true αν το φύλλο εργασίας βρίσκεται σε λειτουργία φίλτρου. (Δείτε αυτό για περισσότερες πληροφορίες.) Δείτε αυτό για περισσότερες πληροφορίες σχετικά με το .AutoFilter.
Και τέλος, this θα παρέχει περισσότερες πληροφορίες σχετικά με τη μέθοδο .ShowAllData.

Σχόλια (0)