自动过滤器在VBA中具有标准范围的单元格 [英] Autofilter in VBA with criteria as a range of cells
本文介绍了自动过滤器在VBA中具有标准范围的单元格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ActiveSheet.Range($ A $ 1:$ I $ 954092)。AutoFilter Field:= 1,Criteria1:= ???? _
运算符:= xlFilterValues
我想使用动态范围的单元格,如
Range(A1,Range(A1)。End(xlDown))
你可以建议如何指定吗?
我已经尝试将以下内容传递给Criteria1 :
范围(###)。值
数组(范围(###))
等。
Ex。
Col1 Col2 Col3 Col4
------------------------ ----
A 1 3 Y
B 3 3 N
A 2 2 N
C 6 1 Y
B 9 3 Y
我想过滤出值为 A
& C
in Col1
。
解决方案
由于@xificurC提到,高级过滤器会诀窍!我可以使用以下代码一次过滤多个值,只需要引用一个范围
范围(A1: A6)。AdvancedFilter Action:= xlFilterInPlace,
CriteriaRange:= Range(A10:A12),唯一:= False
I want to use autofilter in vba to filter using a dynamic range of cell values.
ActiveSheet.Range("$A$1:$I$954092").AutoFilter Field:=1, Criteria1:=???? _
Operator:=xlFilterValues
I want to use a dynamic range of cells like
Range("A1",Range("A1").End(xlDown))
Can you suggest how to specify this?
I have tried passing the following to Criteria1:
Range(###).Value
Array(Range(###))
etc.
Ex.
Col1 Col2 Col3 Col4
----------------------------
A 1 3 Y
B 3 3 N
A 2 2 N
C 6 1 Y
B 9 3 Y
I want to filter out the rows with values A
& C
in Col1
.
解决方案
As @xificurC mentioned, Advanced filter does the trick! I was able to use the following code to filter multiple values at once using just a reference to a range
Range("A1:A6").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("A10:A12"), Unique:=False
这篇关于自动过滤器在VBA中具有标准范围的单元格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文