首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于多个单元格值的Excel宏过滤器

基于多个单元格值的Excel宏过滤器
EN

Stack Overflow用户
提问于 2018-07-05 23:04:16
回答 2查看 7.8K关注 0票数 3

我有一个简单的宏,它根据A13单元格中的值过滤行。效果很好。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 With ActiveSheet

    .Range("B2:F5000").AutoFilter Field:=2, Criteria1:=.Range("A13")

End With

但是我需要为这个过滤器应用更多的值,特别是基于两个或更多的单元格。所以我运行这个宏:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
With ActiveSheet

    .Range("B2:F5000").AutoFilter Field:=2, Criteria1:=.Range("A13:A14:A15")

End With

但是它只过滤基于A15单元的值。为什么会这样呢?我已经阅读了这里的所有主题,但是没有解决这个具体问题的办法。谢谢你们的帮助。利波。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-06 01:46:24

  1. 先删除旧的AutoFilter
  2. Field:=1上的过滤器。如果您的范围从B列开始,并且希望在B列中筛选,那么这是第一个字段,而不是第二个字段。
  3. 如果要对值/数字(而不是文本)进行筛选,请使用公式而不是该值进行筛选。例如=200对数字200进行过滤。

下面是一个应该有效的例子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
With ActiveSheet 'better reference a sheet by its name like: Worksheets("Sheet1")
    If .AutoFilterMode = True Then .AutoFilterMode = False 'remove old autofilter
    .Range("B:F").AutoFilter Field:=1, Operator:=xlFilterValues, _ 
       Criteria1:=Array("=" & .Range("A13").Value, "=" & .Range("A14").Value, "=" & .Range("A15").Value)
End With
票数 2
EN

Stack Overflow用户

发布于 2021-06-07 20:52:47

试着:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.Range("B2:F5000").AutoFilter Field:=2, Criteria1:=Array(Range("A13"), Range("A14"), Range("A15"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51204763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文