Excel 2013 VBA Tüm Filtreleri Temizle makrosu

Görünüşe göre eski makrolar çalışmıyor. VBA makrolarını çalıştırmak için uygun güvenlik ayarlarına sahibim ancak bir çalışma sayfasındaki TÜM filtreleri temizlemek için birkaç yöntem denediğimde derleme hatası alıyorum.

İşte denediğim şey:

<ÖN> Sub AutoFilter_Remove() 'Bu makro tüm verileri görüntülemek için filtrelemeyi kaldırır ancak filtre oklarını kaldırmaz ActiveSheet.ShowAllData End Sub

Sayfalarda, üzerinde filtreler bulunan çok sayıda sütun olduğundan, kullanıcıların kullanım kolaylığı için tüm filtreleri temizlemek için düğmelerim var.

Bunu dene:

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
Yorumlar (3)
Çözüm

Sayfanın üzerinde zaten bir filtre varsa:

Sub Macro1()
    Cells.AutoFilter
End Sub

onu kaldıracaktır.

Yorumlar (1)

Şöyle bir şey dene:

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

Çalışma sayfası filtre modundaysa .FilterMode true değerini döndürür. (Daha fazla bilgi için buna bakın). .AutoFilterhakkında daha fazla bilgi için [Bkz. this][2]. Ve son olarak, [this][3].ShowAllData` yöntemi hakkında daha fazla bilgi sağlayacaktır.

Yorumlar (0)