代码来清除工作簿中所有表单中的数据

我有一堆工作表在每个工作表中只有一个表。 我想运行一个代码,将不会显示/显示所有工作表的所有数据。 到目前为止,我已经写了下面的代码,但它并没有给我的愿望的结果。

dim ws1 as worksheet On Error Resume Next For Each ws1 In Worksheets If ws1.FilterMode = True Then ws1.ShowAllData Next ws1 On Error GoTo 0 

请检查上面的代码,并修改。

谢谢萨尔曼

您可能需要从Range.Hidden属性的angular度以及Worksheet.ShowAllData方法解决这个问题。 方面。 数据可能被除Range.AutoFilter方法以外的其他方法隐藏。

 Dim w As Long For w = 1 To Worksheets.Count With Worksheets(w) .UsedRange.Cells.EntireRow.Hidden = False If .AutoFilterMode Then .ShowAllData End With Next w 

使用AutoFilterMode属性..

 Dim ws1 As Worksheet On Error Resume Next For Each ws1 In Worksheets If ws1.AutoFilterMode = True Then ws1.AutoFilterMode = False Next ws1 On Error GoTo 0 

试试这个代码为您的要求。

 Sub test1() Dim wb As Workbook Dim ws As Worksheet Set wb = ThisWorkbook For Each ws In wb.Worksheets If Not ws.AutoFilterMode = False Then ws.AutoFilterMode = False End If Next End Sub