Автофильтр с несколькими столбцами в Excel VBA - PullRequest
2 голосов
/ 18 марта 2010

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

В настоящее время я использую приведенный ниже код для поиска. Однако он не смог найти никаких данных, потому что все критерии, похоже, связаны друг с другом с помощью оператора 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

Интересно, кто-нибудь может дать мне несколько советов или примеров, как решить эту проблему?

Заранее спасибо.

1 Ответ

2 голосов
/ 19 марта 2010

Функциональность автофильтра здесь вам не поможет, так как вы обнаружили, что поведение и фильтры вместе.

Один из подходов состоит в том, чтобы столбец control в электронной таблице (возможно, поддерживается через VBA) заполнялся такими функциями листа, как

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

А затем примените фильтр к контрольному столбцу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...