|
|
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
Если поставить автофильтр, то над клеточкой с ним появляется кобобокс в котором ставится условие, но также можно сразу выбирать уникальные значения. Существует ли возможность через VBA узнать эти уникальные значения (диапазон заранее известен), чтобы программно не перебирать заведомо не встречающиеся значения, как это предлагает сам автофильтр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 17:46 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
или вопрос совсем простой или я не правильно его понял.. если пробежать вниз по колонке и собрать эти значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 18:21 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
k-nikeСуществует ли возможность через VBA узнать эти уникальные значения (диапазон заранее известен), чтобы программно не перебирать заведомо не встречающиеся значения, как это предлагает сам автофильтр? Если фильтр уже включен то можно использовать SpecialCells(xlCellTypeVisible) Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 18:57 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
vbaproили вопрос совсем простой или я не правильно его понял.. если пробежать вниз по колонке и собрать эти значения? Похоже, вы правильно поняли мой вопрос. Действительно, можно пробежаться по столбцу и собрать значения. И, признаюсь, мне даже в голову это не пришло, потому что я посчитал, что должен быть более рациональный способ. Если включенный фильтр уже предлагает выбрать уникальные значения, значит наверняка этот массив уникальных значений можно откуда-то выцепить! Разве я не прав? З.Ы. А вот, многоуважаемый мной, White Owl не понял меня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 09:51 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
k-nikeЕсли включенный фильтр уже предлагает выбрать уникальные значения, значит наверняка этот массив уникальных значений можно откуда-то выцепить! Разве я не прав? мне тоже это интересно стало, но в объекте AutoFilter совсем мало свойств и данных о возможных значениях я не нашел. кроме того, список на экране отвечает не только за автофильтр, но и за сортировку (Excel2003), поэтому значения в этот список могут попадать не из автофильтра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 10:14 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
vbaproмне тоже это интересно стало, но в объекте AutoFilter совсем мало свойств и данных о возможных значениях я не нашел. кроме того, список на экране отвечает не только за автофильтр, но и за сортировку (Excel2003) Вы имеете ввиду, что этот список выдается автофильтром отсортированным? В ExcelXP тоже самое. vbaproпоэтому значения в этот список могут попадать не из автофильтра А вот это не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 10:18 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
k-nike vbaproмне тоже это интересно стало, но в объекте AutoFilter совсем мало свойств и данных о возможных значениях я не нашел. кроме того, список на экране отвечает не только за автофильтр, но и за сортировку (Excel2003) Вы имеете ввиду, что этот список выдается автофильтром отсортированным? В ExcelXP тоже самое. vbaproпоэтому значения в этот список могут попадать не из автофильтра А вот это не понял. в смысле, что кроме самого автофильтра, в раскрывающемся меню есть пункты для сортировки значений в колонке. Эти пункты запускают метод .Sort. Поэтому я думаю, что своего рода «комбо», который мы видим на листе, не относится непосредственно к объекту АФ, а это другой какой-то объект, который сам собирает данные из своей колонки и просто предлагает для указания в АФ. А когда мы выбираем пункт, то запускает АФ с этим значением. А в самом объекте АФ этих уникальных значений нет. Это мое предположение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 10:33 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
vbaproэто другой какой-то объект, который сам собирает данные из своей колонки и просто предлагает для указания в АФ. Да уж. Осталось определить что это за объект такой интересный? И как до него добраться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 10:44 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
Созрел другой вопрос по нижеприведенному коду. Как раз нужно находить строки, которые видны после применения автофильтра. White OwlЕсли фильтр уже включен то можно использовать SpecialCells(xlCellTypeVisible) Код: plaintext 1. У меня такая конструкция в ExcelXP не работает. И не пойму, FilteredRange это свойство какого объекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 15:42 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
FilteredRange - а это что? диапозон на который установлен фильтр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 15:53 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 15:55 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
k-nike White OwlЕсли фильтр уже включен то можно использовать SpecialCells(xlCellTypeVisible) Код: plaintext 1. У меня такая конструкция в ExcelXP не работает. И не пойму, FilteredRange это свойство какого объекта?Это не свойство, это собственный объект :) Область на которую наложен фильтр. Просто ActiveSheet.Rows.SpecialCells(xlCellTypeVisible) даст не только отфильтрованые строки, но и строки перед и после фильтрованых. Поэтому для работы имеет смысл сначала повозится и определить (возможно вручную) область попадающую в фильтрацию. Ну а если АвтоФильтр уже существует на листе, то можно написать так: set FilteredRange = ActiveSheet.AutoFilter.Range и использовать этот новый объект для краткости и удобства написания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 17:19 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 17:25 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
Выложите пожалуйста, весь пример кода как получить уникальные значения, я как не пытаюсь, не получается. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 19:28 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
вот так у меня заработало Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2008, 12:03 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
А чем принципиально отличается Автофильтр от Комбобокса сводной таблицы? Про перебор значений в комбобоксе сводной таблицы на VBA имеется простой пример в стандартной справке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2008, 23:08 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
Galustovвот так у меня заработало Код: plaintext 1. 2. 3. а как мне из значений в столбце 1 2 3 3 Получить уникальные значения 1 2 3 ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2008, 02:32 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
vbapro k-nike vbaproмне тоже это интересно стало, но в объекте AutoFilter совсем мало свойств и данных о возможных значениях я не нашел. кроме того, список на экране отвечает не только за автофильтр, но и за сортировку (Excel2003) Вы имеете ввиду, что этот список выдается автофильтром отсортированным? В ExcelXP тоже самое. vbaproпоэтому значения в этот список могут попадать не из автофильтра А вот это не понял. в смысле, что кроме самого автофильтра, в раскрывающемся меню есть пункты для сортировки значений в колонке. Эти пункты запускают метод .Sort. Поэтому я думаю, что своего рода «комбо», который мы видим на листе, не относится непосредственно к объекту АФ, а это другой какой-то объект, который сам собирает данные из своей колонки и просто предлагает для указания в АФ. А когда мы выбираем пункт, то запускает АФ с этим значением. А в самом объекте АФ этих уникальных значений нет. Это мое предположение. А когда выбираешь УСЛОВИЕ. то открывается настройка пользовательского фильтра где уже есть комбобоксы с уникальными значениями поля. Хочу сделать свою форму для настройки пользовательского фильтра. Как мне с меньшим гимороем получить комбобокс с уникальными значениями. Позже выложу что будет получаться. А пока вопрос про уникальный комбобокс прошу вынести на обсуждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 10:02 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
DeggasadКак мне с меньшим гимороем получить комбобокс с уникальными значениями. Мы ж недавно рассматривали подобную задачу. Только там искались повторяющиеся значения в массиве, а тебе нужна обратаня задача - выбрать уникальные. Вот и выбирай из них ту, в которой содержание количества геморроя в единицу времени меньше всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 11:29 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
A-NikDeggasadКак мне с меньшим гимороем получить комбобокс с уникальными значениями. Мы ж недавно рассматривали подобную задачу. Только там искались повторяющиеся значения в массиве, а тебе нужна обратаня задача - выбрать уникальные. Вот и выбирай из них ту, в которой содержание количества геморроя в единицу времени меньше всего Просил подумать. Думал вдруг есть какой-нибуть элемент управления, у которого есть свойство - "показыать только уникальные значения" и я о нем не знаю. Все прочее тоже рассматривается. По сути задачка сделать что-то подобное пользовательскому фильтру автофильтра, только с использованием форм и макросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 13:23 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
по-моему, самым быстрым является такой метод: dim cl as new collection dim arr 'dim filteredrange as range dim i as long on error resume next arr=filteredrange for i=1 to ubound(arr) cl.add arr(i,1),arr(i,1) next и в коллекции cl имеем уникальные элементы соответственно cl.count дает их количество. работает быстрее, чем расширенный фильтр(с учетом помещения в массив) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 13:34 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
Ну, если с помощью макроса - то самый быстрый способ - это отсортировать столбец где-нить в свободных ячейках, затем формулами отловить моменты, где предыдущая отличается от следующей. Затем сцепить эти значения через конструкцию Split(Join()," "), " "). Быстрее этого ничего нет! Даже расширенный фильтр с опцией "Только уникальные записи" тут "отдыхает" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 13:46 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
_slan_, Выложи, плиз, готовый файл-пример с выводом результата уникальных значений, скажем, в рядомстоящий столбец. Интересно будет сравнить ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 14:07 |
|
||
|
Узнать все доступные значения при установке автофильтра
|
|||
|---|---|---|---|
|
#18+
A-Nik, я то как раз говорил о получении массива.. но можно и обратно в столбец. держи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 15:06 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35714835&tid=2178000]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 521ms |

| 0 / 0 |
