如何更快地过滤范围?
我想通过列(rng01)中的值过滤范围(9列和1400行)
Application.ScreenUpdating = False db.Rows.Hidden = False For Each cell In rng01.Cells If Not cell.Value = "323" Then cell.EntireRow.Hidden = True End If Next cell Application.ScreenUpdating = True
这工作,但需要大约3-4秒。
有更快的方法,请问?
让我们看看我是否理解你的问题: rng01
是九列之一,你想过滤,只有在rng01
= 323
的值是可见的行。
你可以使用AutoFilter
来做到这一点。 你需要在你的数据上面有一个标题行(但可以是空白的)。
rng01.AutoFilter rng01.AutoFilter Field:=1, Criteria1:="323", VisibleDropDown:=False
如果表格rng01
表示已经有一个活动的自动rng01.AutoFilter
,则第一个rng01.AutoFilter
清除它。
请注意, rng01
是一列宽 。
如果实际上rng01
的范围比一列宽,则使用
rng01.Columns(3).AutoFilter rng01.Columns(3).AutoFilter Field:=1, Criteria1:="323", VisibleDropDown:=False