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)
這樣就可以實作篩選自動選擇内容