excel 中有两个筛选
1、筛选,vba 代码为
set rg=range("a1:a100")
rg.AutoFilter Field:=1, Criteria1:="内容"
rg 为筛选区域, Criteria1为筛选的值,比如在A1列内筛选内容为北京区的 ,则 Criteria1="北京区"
2、高级筛选
Rg.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A1"), Unique:=True
同理rg 为rang 区,action 有两个值,一个是不改变,一个是复制,copytoRange 就是结果复制内容到
这里主要说复制结果,这个结果是不重复的,比如有1000行数据,里面有10个北京区,20个上海区,四川区等,他会吧内容不重复的列出了
这两个结合起来使用 就可以达到自定义筛选了
Rg.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A1"), Unique:=True
x = Range("A60000").End(xlUp).Row
ReDim filterArray(0 To x - 1)
For i = 0 To x - 2
filterArray(i) = Range("A" & i + 2)
Rg.AutoFilter Field:=1, Criteria1:=filterArray(i)
这样就可以实现筛选自动选择内容