请问VBA中,多个条件筛选如何实现?

有6个条件,其中ABC是与的关系DEF是或的关系,举个例:这个筛选要求姓名=张三,年龄=20,性别=男,这三个条件都要满足,同时层级=中心或总部或总公司,请问语句如何写?... 有6个条件,其中A B C 是与的关系 D E F是或的关系,举个例:这个筛选要求姓名=张三,年龄=20,性别=男,这三个条件都要满足,同时层级=中心 或 总部 或总公司,请问语句如何写? 展开
 我来答
百度网友ca64c0c
推荐于2016-08-11 · TA获得超过4667个赞
知道大有可为答主
回答量:2991
采纳率:61%
帮助的人:1478万
展开全部
是否可以使用autofilter方法,并用field属性添加各个筛选条件即可。
语法:
expression.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
expression 必需。该表达式返回“应用于”列表中的对象之一。
Field Variant 类型,可选。相对于作为筛选基准字段(从列表左侧开始,最左侧的字段为第一个字段)的偏移量
Criteria1 Variant
类型,可选。筛选条件(一个字符串;例如,“101”)。使用“=”可搜索到空字段,或者使用“<>”可搜索到非空字段。如果省略该参数,则搜索条件为
All。如果将 Operator 设为 xlTop10Items,Criteria1 则指定数据项个数(例如,“10”)。
Operator XlAutoFilterOperator 类型,可选。
XlAutoFilterOperator 可为以下 lAutoFilterOperator 常量之一。xlAnd defaultxlBottom10ItemsxlBottom10PercentxlOrxlTop10ItemsxlTop10Percent可使用 xlAnd 和 xlOr 将 Criteria1 和 Criteria2 组合成复合筛选条件。

具体使用示例:
Range(数据区域).AutoFilter Field:=数据区域中条件A所在列的序号, Criteria1:=条件A
Range(数据区域).AutoFilter Field:=数据区域中条件B所在列的序号, Criteria1:=条件B
Range(数据区域).AutoFilter Field:=数据区域中条件C所在列的序号, Criteria1:=条件C
Range(数据区域).AutoFilter Field:=数据区域中条件D所在列的序号, Criteria1:=条件D1, _
Operator:=xlOr, Criteria2:=条件D2
追问
但是我是有三个条件或,最后那一条里面最多只能有两个或,这就是我烦恼的根源= =。
追答
那么请增加一个辅助列,先用工作表函数将符合三个“或”条件的行标记出来,再对这个辅助列进行筛选即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式