Фильтр в екселе

Программирование на Visual Basic for Applications
goddan
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 29.10.2007 (Пн) 1:59

Фильтр в екселе

Сообщение goddan » 19.02.2008 (Вт) 1:45

Доброго времени суток. Подскажите возможно ли какими то способами отфильтровать ячейки по 5 значениям одновременно?Например:

Вася|1
Петя|2
Коля|3
Вася|4
Вася|5
Вася|7
Вася|9

В этом примере нужно отфильтровать по 1,2,3,4,5.

Спасибо.

alex_gearbox
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 09.01.2008 (Ср) 21:34
Откуда: г. Волгоград

Сообщение alex_gearbox » 19.02.2008 (Вт) 20:04

RTFM!

В выпадающем списке автофильтра выбираешь строку (Условие...) и юзаешь пользовательский автофильтр.

goddan
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 29.10.2007 (Пн) 1:59

Сообщение goddan » 20.02.2008 (Ср) 10:21

хм... Приведите пример, пожалуйста, как автофильтром можно отфильтровать 1,2,3,4,5 . Вариант что больше 1 и меньше 5 не подходит. нужно именно 1,2,3,4,5(вместо них может быть что угодно: строки, миллионы) одновременно. Может я чего не так делал?

Вроде как можно расширенным фильтром такое делать, но вот никак не получается в качестве аргумента передать массив значений.
Чтото вроде


Код: Выделить всё
Range("b5:b6000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=x, Unique:=False


Где х массив который был получен

Код: Выделить всё
x=Range("b5:b60")


Вроде как работало, но вот пытаюсь массив программно создать и передать значения - вываливается ошибка 1004.

Спасибо.

anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Сообщение anvg » 20.02.2008 (Ср) 15:46

goddan
CriteriaRange - объект Range
x=Range("b5:b60")
- у тебя, судя по присвоению массив значений, потому и ошибка. Пиши CriteriaRange:=Range("b5:b60")

anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Сообщение anvg » 20.02.2008 (Ср) 15:47

goddan
CriteriaRange - объект Range
x=Range("b5:b60")
- у тебя, судя по присвоению массив значений, потому и ошибка. Пиши CriteriaRange:=Range("b5:b60")


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList