|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
Как отфильтровать уже отфильтрованные значения таблице Excel15.04.2013, 14:41. Показов 12038. Ответов 42
Метки нет (Все метки)
Привет.
С помошью команды:
А теперь как мне из этого отфильтрованного объема данных отфильтровать дополнительно но уже по другому полю (например №2)?
0
|
||||||
| 15.04.2013, 14:41 | |
|
Ответы с готовыми решениями:
42
Как отфильтровать подстановочные значения в таблице по значению предыдущего столбца Как подсчитать отфильтрованные записи в таблице?
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||
| 22.04.2013, 10:08 | ||
|
Когда нет нужных VBA-Excel-средств, то нужно идти обходным путём.
0
|
||
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
| 22.04.2013, 10:43 [ТС] | ||||||
|
Да, но я не вижу другог способа как по варианту предложенному Казанског используя метод:
Все бы ничего но тут есть нюанс, который пояснить лучше на примере: Пример: Допустим после применения фильтра по колонке №1, в колонке №2 осталось 5 зачений (0,-1,2,4,2). И допустим я хочу отфильтровать колонку №2 по значениям > 0. То значит я должен способом Казанского считать из колоннке все данные больше 0 а это - (2,4,2). И по этим данным отфильтровать эту колонку №2. Но это неверно, т.к. фильровать нужно по уникальным значениям а не по повторяющимся. А уникальных знчений всего 2 - (2,4). Значит дополнительно нужно городить методы удаляющие в массиве повторяющие значения и оставляющие только уникальные (я даже незнаю как безгеморно это сделать) А если к примеру просто заглянуть в Excel в фильтры колонки №2 и просто увидель отсортированный список уникальных (неповторяющихся) значений для фильтрации. Красота! Знать бы только как получить к ним доступ...
0
|
||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|||
| 22.04.2013, 10:54 | |||
|
0
|
|||
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
| 22.04.2013, 14:21 | |
|
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 22.04.2013, 14:24 | |
|
Казанский, там (Получение массива критериев из автофильтра excel) то же, что и в этой теме или там что-то другое есть?
0
|
|
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
|
| 23.04.2013, 09:23 [ТС] | |
|
Вообщем Скрипт, это все тот же способ использования .AutoFilter.Filters(N), где N - номер колонки автофильтра.
И который работает если к колонка N была отфильтрована..
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 23.04.2013, 09:38 | |
|
oleggy, значит вам нужно свой код писать, т.к. нет готового решения для вашей задачи.
0
|
|
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
|
| 23.04.2013, 10:20 [ТС] | |
|
Казанский, Скрипт
Случаем не в курсе каким способом можно отсортировать Rage объект? А так же как можно удалить первый элемент из объекта Rage (удаление заголовка фильтра) ? Set r = .AutoFilter.Range.Сolumns(2).specialcell s(xlcelltypevisible) Не могу понять из мануала каким образом работает метод: r.Sort Сортировка мне нужна что бы можно было из отсортированного списка легко удалить повторяющиеся значения и в итоге полученный список и будет списком потенциальных фильтров в колонке №2 в автофильтре.
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 23.04.2013, 10:26 | |
|
oleggy, здесь Получение массива критериев из автофильтра excel в сообщении #2 как раз и используется обходной путь решения вашей задачи.
0
|
|
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
| 23.04.2013, 11:59 [ТС] | ||||||
|
Скрипт, верно ли я понял что имелось ввиду использование объекта Scripting.Dictionary для обработки и сортировки данных?
Т.к. более ничего полезного для моего случая я в том примере не нашел.. (поправьте меня если ошибаюсь) В том случае автор для осуществления сбора фильтров осуществляет перебор всех (!) данных в автофильтре что совсем не оптимально. По мне лучше вариант коллекции видимых ячеек:
0
|
||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||
| 23.04.2013, 12:30 | ||
|
Вы можете воспользоваться и "SpecialCells(xlCellTypeVisible)" и "Dictionary" одновременно. Просматривайте только видимые ячейки и добавляйте их в "Dictionary". С помощью "Dictionary" можно взять только уникальные (неповторяющиеся данные).
0
|
||
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||||||||||||
| 23.04.2013, 13:52 [ТС] | ||||||||||||||||
|
Скрипт, можешь подсказать из за чего может ругатся VBA: User-defined type not defined
на выражение:
VBA не понимает "Scripting.Dictionary"
0
|
||||||||||||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||||||
| 23.04.2013, 13:55 | ||||||
|
oleggy, в данном коде должна быть подключена библиотека:
Tools - References... - Microsoft Scripting Runtime. Чтобы библиотеку не подключать, нужно так в коде написать (могут быть опечатки - код не тестировал):
0
|
||||||
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
|||||||||||
| 23.04.2013, 14:06 [ТС] | |||||||||||
|
Скрипт принципиально ли в коде VBA обязательно явно задавать:
0
|
|||||||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 23.04.2013, 14:11 | |
|
oleggy, в данном случае нет разницы: что задать тип данных "Object", что не задать: код не станет легче писать. Может быть это защитит от какой-нибудь нелепой опечатки, если вдруг вместо работы с объектом будете работать с другим типом данных.
0
|
|
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
|||||||||||
| 24.04.2013, 07:23 [ТС] | |||||||||||
|
В итоге получил код, котрый можно использовать для получения фильтров из той колонки автофильтра, которую мы НЕ ФИЛЬТРОВАЛИ.
Если же нам нужно получить список фильтров из колонки которая была отфильтрована, то код вы можете увидеть в том сообщении: Получение массива критериев из автофильтра excel
К сожалению так и не могу понять почему следующая команда:
Получается тот же самый результат о котором я писал в посте выше: Как отфильтровать уже отфильтрованные значения таблице Excel В том примере я фильтровал по неуникальным значениям. И я думал что это из-за того что значения неуникальны. Но по видимому не в этом причина.
0
|
|||||||||||
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
| 26.04.2013, 08:27 [ТС] | ||||||
|
Казанский, Скрипт
Случаем не в курсе из-за чего может возникнуть ошибка? Код:
Но он не работает если на листе есть автофильтр но в нем ничего не отфильтровано.
0
|
||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||||||
| 26.04.2013, 08:41 | ||||||
|
oleggy, вот этот код у вас работает на листе, где есть автофильтр, но который не применён?
Код
1
|
||||||
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
| 26.04.2013, 13:02 [ТС] | ||||||
|
Спасибо, существует код котрый перебирает скрытые ячейки?
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 26.04.2013, 13:28 | |
|
Я помню делал так - сперва
set r=видимые затем отображал всё, скрывал r - получаем видимыми ранее скрытые.
0
|
|
| 26.04.2013, 13:28 | |
|
Как исключить из Comboboxa значения, которые уже были введены в ячейки Excel? Как отфильтровать дубликаты записей в таблице?
Как отфильтровать ячейки с формулами в 2007 Excel? Добавить значение в таблицу, только в том случае, если в таблице уже нету такого значения. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|