Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2831|回复: 7

[已解决]如何使用VBA去除excel的筛选属性?

[复制链接]
发表于 2014-7-16 13:34 | 显示全部楼层 |阅读模式
在一个excel表中有多个sheet,有的sheet有筛选,有的sheet没有筛选,请问,如何用VBA实现将有筛选的表格的筛选去掉?
最佳答案
2014-7-17 09:24
Worksheet.FilterMode 属性
如果工作表处于筛选模式,则为 True。只读 Boolean 类型。
语法

表达式.FilterMode

表达式   一个代表 Worksheet 对象的变量。

示例
在下面的示例中,如果工作表处于筛选模式,代码则返回 True。

Visual Basic for Applications
Dim Worksheet1 As Worksheet

Dim returnValue As Boolean
returnValue = Worksheet1.FilterMode
发表于 2014-7-16 15:06 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-7-17 09:10 | 显示全部楼层
箫风 发表于 2014-7-16 15:06
录个宏问题就解决了吧!

关键是如何判断,如果使用录制的宏如果原来没有筛选就会变成有筛选,原来有筛选的变成没筛选,我要的是都取消筛选
回复

使用道具 举报

发表于 2014-7-17 09:21 | 显示全部楼层
工作表有没有筛选其实可以判断出来呀,有属性的。
回复

使用道具 举报

发表于 2014-7-17 09:23 | 显示全部楼层
AutoFilterMode
FilterMode
看看工作表对象的这两个属性。
回复

使用道具 举报

发表于 2014-7-17 09:24 | 显示全部楼层    本楼为最佳答案   
Worksheet.FilterMode 属性
如果工作表处于筛选模式,则为 True。只读 Boolean 类型。
语法

表达式.FilterMode

表达式   一个代表 Worksheet 对象的变量。

示例
在下面的示例中,如果工作表处于筛选模式,代码则返回 True。

Visual Basic for Applications
Dim Worksheet1 As Worksheet

Dim returnValue As Boolean
returnValue = Worksheet1.FilterMode
回复

使用道具 举报

 楼主| 发表于 2014-7-17 17:07 | 显示全部楼层
hwc2ycy 发表于 2014-7-17 09:24
Worksheet.FilterMode 属性
如果工作表处于筛选模式,则为 True。只读 Boolean 类型。
语法

.AutoFilterMode = False     为什么要加上auto,不加就不好使呢?
回复

使用道具 举报

发表于 2014-7-17 17:18 | 显示全部楼层
auto,是该属性名称的一部分。
拿掉auto,就不再是该属性了。

评分

参与人数 1 +6 收起 理由
qjsu + 6 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 20:14 , Processed in 0.670916 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表