Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 15:56   #1
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию Как сделать автофильтр с несколькими условиями (больше 2-х)

Например, есть автофильтр, который выбирает строки которые начинаются на 7 и на 8:

ActiveSheet.Range("$A$1:$E$100").Au toFilter Field:=1, Criteria1:="=7*", _
Operator:=xlOr, Criteria2:="=8*"

Как добавить условия, ?
Что бы можно было выбрать строки, которые начинаются, например, на 7, на 8, на 9 и на 10?

Думал, что что-то типа такого:
ActiveSheet.Range("$A$1:$E$100").Au toFilter Field:=1, Criteria1:="=7*", _
Operator:=xlOr, Criteria2:="=8*", _
Operator:=xlOr, Criteria3:="=9*", _
Operator:=xlOr, Criteria4:="=10*", _

Но такой код выдает ошибку....

Как реализовать?

Ну или может как реализовать то же (условие: "начинается с ") расширенным фильтром?
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 16.12.2011 в 16:09.
Snekich вне форума Ответить с цитированием
Старый 16.12.2011, 16:39   #2
ratibor
Пользователь
 
Регистрация: 01.12.2011
Сообщений: 42
По умолчанию

ActiveSheet.Range("$B$2:$C$12").Aut oFilter Field:=1, Criteria1:=Array("10", _
"7", "8", "9"), Operator:=xlFilterValues
ratibor вне форума Ответить с цитированием
Старый 16.12.2011, 16:43   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

В доп. столбце - формула, возвращающая первые цифры,
а дальше:
Код:
Selection.AutoFilter Field:=1, Criteria1:=">=7", Operator:=xlAnd, Criteria2:="<=10"
Или же в том же доп.столбце сделайте формулу (возможно, UDF), которая будет выдавать TRUE для подходящих значений
EducatedFool вне форума Ответить с цитированием
Старый 16.12.2011, 16:48   #4
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Например как реализовать (условие: "начинается с ") расширенным фильтром

Последний раз редактировалось agregator; 16.12.2011 в 17:23.
agregator вне форума Ответить с цитированием
Старый 16.12.2011, 17:58   #5
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Реализовать (условие: "начинается с ") расширенным фильтром, оказывается можно без формул
agregator вне форума Ответить с цитированием
Старый 16.12.2011, 20:57   #6
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от ratibor Посмотреть сообщение
ActiveSheet.Range("$B$2:$C$12").Aut oFilter Field:=1, Criteria1:=Array("10", _
"7", "8", "9"), Operator:=xlFilterValues
Идея хорошая, но не работает.
Наверное, правильней будет
Array("=10*", "=7*", "=8*", "=9*")
но все-равно не работает.
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 16.12.2011, 22:16   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Используйте расширенный фильтр, там можно больше 2 условий.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 17.12.2011, 10:45   #8
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Используйте расширенный фильтр, там можно больше 2 условий.
А если в таблице с данными нет заголовка, либо над таблицей аброкадабра написана (импорт данных с тексторого файла), то как настроить расширенный фильтр?
На сколько я знаю он же проверяет условия в столбце таблицы с данными в соответствии с заголовками столбцов?

Кстати, а можно вместо заголовков столбов использовать непосредственно буквы столбцов?
Например в столбце А (таблица в столбцах A:D)на Лист2 выбрать строки в соответствии с условиями указанными в диапазоне А10:А15 на Лист1
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 17.12.2011 в 10:49.
Snekich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли формула типа ВПР или ГПР работающая с несколькими условиями? Zhiltsov Microsoft Office Excel 11 20.06.2016 16:45
Как вычислить кол-во пустых ячеек с несколькими условиями? Ppaa Microsoft Office Excel 6 25.07.2011 13:34
Как сделать больше 10 потоков BoT_T Общие вопросы Delphi 5 02.01.2011 18:30
Форма с несколькими таблицами в табличном виде. Как сделать? Jenya Microsoft Office Access 1 15.11.2008 20:37
Поиск min/max данных с несколькими условиями - нужна помощь! /nort/ Microsoft Office Excel 3 16.03.2008 00:13