#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