2010-03-18 75 views
2

我需要使用VBA來過濾excel中的一些信息。因爲我有一個20列的excel,現在想要使用AutoFilter函數來搜索某些列,如果它包含一個值(例如:ID010)。我想要的是它會顯示至少有一列包含ID010的所有行。在Excel VBA中使用多列自動過濾器

目前,我使用下面的代碼進行搜索。然而,因爲所有的標準,似乎綁在一起使用AND運算

' Search range, [argIn]---> search value 
With [D5:M65536] 
     .AutoFilter Field:=4, Criteria1:=argIn 
     .AutoFilter Field:=5, Criteria1:=argIn 
     .AutoFilter Field:=6, Criteria1:=argIn 
     .AutoFilter Field:=7, Criteria1:=argIn 
     .AutoFilter Field:=8, Criteria1:=argIn 
     .AutoFilter Field:=9, Criteria1:=argIn 
     .AutoFilter Field:=10, Criteria1:=argIn 
     .AutoFilter Field:=11, Criteria1:=argIn 
     .AutoFilter Field:=12, Criteria1:=argIn 
     .AutoFilter Field:=13, Criteria1:=argIn 
End With 

我不知道是否有人可以給我一些提示或例子如何處理這個問題,它找不到任何數據。

預先感謝您。

回答

2

自動篩選功能無法幫助您,因爲您已經發現其行爲與篩選器結合在一起。

一種方法是在填充工作表功能的電子表格(也許通過VBA保持)一個控制柱像

=COUNTIF(A$2:A$20, "ID010") 

然後將過濾器應用到控制列。

+0

感謝您的回覆。它工作完美 – 2010-03-23 06:49:35