从Excel中的工作表中删除所有活动过滤器

时间:2016-04-07 14:44:22

标签: excel vba excel-vba

我正在使用excel中的表格,我想删除在我的52列中设置的所有过滤器,删除粗体,颜色等(返回正常格式)。

不知怎的,我的代码没有这样做,知道问题可能在哪里?

'Clears filters on the activesheet. Will not clear filters if the sheet is protected.
On Error Resume Next
If ActiveWorkbook.ActiveSheet.FilterMode Or ActiveWorkbook.ActiveSheet.AutoFilterMode Then
   ActiveWorkbook.ActiveSheet.ShowAllData
End If

 'in case the sheet is protected
ActiveWorkbook.Sheets("List").Cells.EntireColumn.Hidden = False

4 个答案:

答案 0 :(得分:0)

你可以试试这个:

ActiveSheet.AutoFilter.ShowAllData

它可能有用。

答案 1 :(得分:0)

If ActiveSheet.AutoFilterMode Then ActiveSheet.Cells.AutoFilter
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData

答案 2 :(得分:0)

请尝试使用以下

Cells.AutoFilter

答案 3 :(得分:0)

这解决了它:

ActiveWorkbook.Worksheets("List").ListObjects("FilterParts").Sort.SortFields.Clear
ActiveSheet.ShowAllData

但是,如何对此列进行排序

Range("FilterParts[[#Headers],[POS NUMBER]]").Select

这样它可以显示除空白之外的所有内容吗?