2010-03-18 4 views
2

Мне нужно использовать VBA для фильтрации некоторой информации в excel. Поскольку у меня есть excel с 20 столбцами, теперь вы хотите использовать функцию AutoFilter для поиска в некоторых столбцах, если она содержит одно значение (Ex: ID010). то, что я хочу, будет отображать все строки, содержащие хотя бы один столбец ID010.Автофильтр с несколькими столбцами в Excel VBA

В настоящее время я используем нижеследующий код для поиска. Тем не менее, он не смог найти каких-либо данных, поскольку все критерии, кажется, связать вместе, используя оператор И

' 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

Благодарим за ответ. Он отлично работал –