关于取消自动筛选:
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
从蓝桥玄霜版主那看到了,先判断是否做了筛先.
=================
取消自动筛选:
Sheets("sheet1").AutoFilterMode = False '注意这里对象是sheet, 不需要sheet中的具体区域,比如[a1:c1]之类
'关于Autofiltermode与Filtermode的区别, 前是是已经使用了筛选状态. 首行中已经出现筛选行.
Filtermode: 如果是被筛选过的,那么Filtermode就是True.
Autofiltermode:不管有没有被筛选过, Autofiltermode=True
取消高级筛选:
If Sheets("sheet1").FilterMode = True Then Sheets("sheet1").ShowAllData
=============
简单的宏眼中的取消与加入自动筛选
Rows("2:2").Select
Selection.AutoFilter
或Sheet1.[a1:m1].AutoFilter '注意, 这里前方的对象需要是区域range,而不是sheet,和Autofiltermode与Filtermode不一样
=============
如果存在自动筛选状态的情况下,以下不会把被筛选而隐藏的那些行给删除,所以需要先取消筛选(filtermode+showalldata)
my.Rows("3:1000000") = ""
vba关于取消自动筛选:
最新推荐文章于 2024-11-07 14:57:03 发布