Excel — фильтр со 150 значениями

#excel #vba

#excel #vba

Вопрос:

У меня есть столбец в Excel 2016 с приблизительно 500 уникальными значениями. Я хочу отфильтровать 150 из них.

Как я могу выполнить фильтрацию по этим значениям, кроме как щелкнуть по каждому из 150 уникальных флажков? Мне нужно будет сделать это с несколькими электронными таблицами. Выполнение этого вручную отнимает много времени и может привести к ошибкам.

Могу ли я сделать это с помощью пользовательского фильтра? Написать код vba? Другое?

Комментарии:

1. Используйте расширенные фильтры, где вы можете указать диапазон ячеек extendoffice.com/documents/excel / … или найдите расширенные фильтры в Excel.

Ответ №1:

Ответ на ваши потребности Advanced Filtering . Если вы перейдете к Data > Sortamp;Filter , вы найдете кнопку под названием Advanced . Там вы можете установить две вещи:

1) Диапазон списка, где вы выделяете весь диапазон, который хотите отфильтровать

2) Диапазон критериев, в который будут включены ваши 150 фильтров.

Это должно отфильтровывать любое значение, которое не входит в диапазон критериев и работает в течение нескольких секунд для каждого листа.

Ответ №2:

Вы не указали, откуда берутся 150 уникальных значений, но если вы можете найти их и поместить в массив, обычная команда автофильтра может использовать их в аргументе Criteria1 с Operator:=xlFilterValues.

 dim arr as variant

arr = array("value1", "value2", "value3", ...)

with myrange

  .autofilter field:=1, criteria1:=arr, operator:=xlfiltervalues

end if