vba 多个excel解除筛选
时间: 2023-08-06 07:08:38 浏览: 222
Excel+VBA++SQL+语句
如果你想要在多个 Excel 工作簿中解除筛选(即清除筛选条件),可以使用以下 VBA 代码:
```vba
Sub ClearAllFiltersInWorkbooks()
Dim wb As Workbook
Dim ws As Worksheet
' 遍历所有打开的工作簿
For Each wb In Application.Workbooks
' 遍历每个工作簿中的所有工作表
For Each ws In wb.Worksheets
' 如果工作表中有筛选条件,则解除筛选
If ws.AutoFilterMode Then
ws.AutoFilterMode = False
End If
Next ws
Next wb
End Sub
```
这段代码会遍历所有打开的工作簿,并在每个工作簿中遍历所有工作表。如果工作表中有筛选条件,则会将其解除。注意,此代码只会解除筛选条件,不会清除已筛选的行。如果需要清除已筛选的行,可以在解除筛选后用 `ws.UsedRange.SpecialCells(xlCellTypeVisible).EntireRow.Delete` 删除可见行。
阅读全文