|
|
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Уважаемые знатоки, Есть афтофильтр, нужно извлечь из него в массив все значения. Пробовал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Что делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 14:21 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
> Уважаемые знатоки, > Есть афтофильтр, нужно извлечь из него в массив все значения. > Пробовал: > Ругается, говорит "Object required". > Что делаю не так? Справку не читаеш это первое и второе не понятно, ты список условий хочеш получить или результат действия автофильтра, т.е. отфильтрованные данные Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 14:37 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос Справку не читаеш это первое и второе не понятно, ты список условий хочеш получить или результат действия автофильтра, т.е. отфильтрованные данные Posted via ActualForum NNTP Server 1.4 Справку читал, но может что и просмотрел. Хочу получить список условий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 14:39 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
> Автор: dd44 > Игорь Горбонос > > Справку не читаеш это первое и второе не понятно, ты список > условий хочеш > получить или результат действия автофильтра, т.е. > отфильтрованные данные > > > Справку читал, но может что и просмотрел. > Хочу получить список условий. Каких условий? фильтра? вот из справки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 14:47 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Уважаемый Игорь, Данный код собирает значения включеных фильтров, мне нужно собрать все значения фильтра столбца В в массив, при выключенном фильтре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 15:17 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Да, Написание кода If Not .On Then ... было бы выходом, но, как передать значение критериев? Croteria1, 2 и т.д. не устроит, так как количество будет постоянно меняться, а Criteria & f не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 15:34 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
> Автор: dd44 > Уважаемый Игорь, > Данный код собирает значения включеных фильтров, мне нужно собрать > все значения фильтра столбца В в массив, при выключенном фильтре. во мудрено то как :-) я правильно понял что нужен список того что появляется при нажатии на кнопку автофильтра??? если да то на bbs.vbstreets.ru кто-то это делал, поищи там Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 15:34 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Уважаемый Игорь, Ничего там не нашел ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 15:47 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что эта строка имеет проблему: arrFilter(intFilter - 1) = Range("B1").AutoFilter.Filters(f) Вы пытаетесь в массив Variant (кстати, не Object) внести фильтр (object) с индексом f, но вы этот объект не создаете (не вижу Set). Вот object и требуется. Но почему тогда вы object (недосетенный) засовываете в variant? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 15:53 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Уважаемый VladConn, То что Вы написали мне не совсем понятно. У меня есть массив, куда я пытаюсь засунуть возможые значения фильтра, зачем тут что-то вводить, хотя возможо Вы правы. Не подскажите мне тогда как это надо написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 15:59 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Так тип массива не совпадает с типом того, что вы хотите в него вносить, а то, что вы хотите вносить (а именно фильтр), еще и не фильтр даже. Там нет Set и/или нет декларации As Filter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 16:23 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 16:30 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Или вы не хотите вносить фильтр, а хотите вносить его какие-то атрибуты? Тогда ваш код не отражает ваших намерений. Вот это вот: Range("B1").AutoFilter.Filters(f) есть ссылка на определение фильтра. Но так ее не используют. Надо бы Dim objF as Filter, Set objF = Range("B1").AutoFilter.Filters(f). Ну и так далее, если вы конечно хотите вносить фильтр, а не его свойства. Я не знаю, что вы хотите, т.к. ваш код противоречит вашему вопросу. Я не знаю, что вы имеете ввиду. Вот посмотрите, Игорь Горбонос в сущности спрашивает вас о том же самом. Вот как он не видит, где нужно ставить мягкие знаки после шипящих (3й класс начальной школы), так вы не видите, где нужно вводить объекты в явном виде (если это требуется, конечно, что в вашем случае еще не факт). Если у меня будет время, я попробую написать для вас работающий код. Успехов vladconn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 16:39 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 16:40 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Вот сделал пример, который собирает в массив свойство Criteria1 всех задействованных фильтров. Обратите внимание: поскольку свойство Criteria1 имеет тип Variant, то и массив их значений тоже Variant, и только лишь поэтому. Обратите также внимание на If Not objWsht.AutoFilter Is Nothing Then. Это на случай, если на листе нет вообще AutoFilter, не установлен. Попробуйте убрать эту строку и прогнать код без всякого AutoFilter на листе. Посмотрите на сгенерированную ошибку, что она вам скажет. Успехов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:11 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Уважаемый VladConn, Вы меня не поняли. Мне нужно собрать все возможные варианты выключенного фильтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:17 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
ну так поставаьте так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:23 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Тогда вам вообще он не нужен. Соединитесь с ADO, напишите SELECT DISTINCT, и вперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:24 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Konst_Oneну так поставаьте так: Код: plaintext И дальше что? Кто будет править датским королевством? Кто скажет вам, каков у вас приход? И сколько всадников не спит у вас в дозоре? Кто перепись ведет? Кто скажет, сколько новых душ должно родиться, а сколько отлететь? А королевство датское - от моря и до моря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:30 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Уважаемый VladConn, а можно ли через оператор Count получить количество вариантов в каждом фильтре, например Filters.Count, или то выдаст только количество столбцов в которых есть фильтр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:43 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Или например FilterIndex.Count? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 17:45 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
> Автор: dd44 > Или например FilterIndex.Count? Нет. Это все свойства самих фильтров, примененных. чем не решение, для тебя вполне нормальное: Автор: VladConn Тогда вам вообще он не нужен. Соединитесь с ADO, напишите SELECT DISTINCT, и вперед. запиши макрос получения данных и будет щастье :)) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 18:00 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос Тогда вам вообще он не нужен. Соединитесь с ADO, напишите SELECT DISTINCT, и вперед. запиши макрос получения данных и будет щастье :)) Posted via ActualForum NNTP Server 1.4 Уважаемый Игорь, Наверное было бы счасте, но я с этим не знаком (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 18:07 |
|
||
|
Извлечение значений из фильтра
|
|||
|---|---|---|---|
|
#18+
dd44Уважаемый VladConn, а можно ли через оператор Count получить количество вариантов в каждом фильтре, например Filters.Count, или то выдаст только количество столбцов в которых есть фильтр? Не думаю. Там кол-во столбцов. И Count - не оператор, а свойство. Вам, в сущности, надо знать, сколько уникальных значений содержится в каждом столбце. Ведь так? Ну так это SELECT DISTINCT. Но я посмотрю, можно ли удобно обойтись без SELECT DISTINCT исключительно фильтром. vladconn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2008, 18:19 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=202&tid=2162721]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 348ms |

| 0 / 0 |
