powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Многокритериальный фильтр
30 сообщений из 30, показаны все 2 страниц
Многокритериальный фильтр
    #36371593
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь работал в Экселе больше, чем с 2-я критериями фильтра в одном столбце???
Типа Selection.AutoFilter Field:=2, Criteria1:="=*17*", Operator:=xlAnd, Criteria2:="=*46*", Operator:=xlOr, Criteria3:="=*28*" ...
Скинте код,плз
Спасибо
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36372951
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stepler, в автофильтре больше двух нельзя. можно сделать красивый расширенный фильтр и в него много условий прикрутить.

тут висит мое творчество. немного не то, но при известной доработке и вам пригодиться может
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36373090
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBStepler, в автофильтре больше двух нельзя. можно сделать красивый расширенный фильтр и в него много условий прикрутить.

тут висит мое творчество. немного не то, но при известной доработке и вам пригодиться может
Да, идея очень интересная. Я тоже попробывал через расширенный, но пока ничего не вышло. У меня задача намного сложнее комбинаторно: работа фильтра по трем листам Экселя, но расширенный можно применить тока на первом листе, а значения фильтрации (в разных логических вариантах типа и/или/начинается и т.д.) на двух других. Да исчо и группировка (до 5-и уровней с показом найденного по фильтру нижнего уровня и всех вышестоящих уровней) чертова усложняет все дело.
Давно бы по-простому ручками выбрал бы, да количество строк = 27 777 и к тожу придется применять такой универсальный фильтр (если его сделаю) раз в месяц.
Так что, спасибо, если енту задачу добью - обязательно выложу ее на FAQ.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36373151
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SteplerКто-нибудь работал в Экселе больше, чем с 2-я критериями фильтра в одном столбце???
Типа Selection.AutoFilter Field:=2, Criteria1:="=*17*", Operator:=xlAnd, Criteria2:="=*46*", Operator:=xlOr, Criteria3:="=*28*" ...
Скинте код,плз
Спасибо
Сделайте свой автофильтр: создайте форму, где будете задавать критерии, потом скрывайте строки, которые по критерию "пролетают". Может, конечно, медленно работать, но "нет предела совершенству"...
А насчет автофильта: это некий объект ("экземпляр класса"), у которого максимум 2 критерия, тут ничего не поделаешь.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36374819
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stepler, а киньте рукотворный пример. даже интересно стало. тока кол-во строк на 1000 поделите =)))
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36378957
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

Стоило отъехать в командировку.... и тут же с удивлением обнаружил интерес к своей задаче...

Поясню немного историю:
Прошла инвентаризация (пересчет материалов) одного из складов. Причем инвентаризацию проводили без остановки работы склада - фиксировали наличие пересчитанного в этот день товара на конец дня. В результате имеем:
1) по данным пересчета данные (номенклатуру) как найденные в ведомости остатков, так и не найденные на каждый день пересчета.
2) за время проведения инвентаризации "доблестные" бухопера изменили (никто не знает скока) наименований номенклатуры. Поэтому имеем для работы исчо один архивный файл со старой номенклатурой.

Задача:
найти выявленный в инвентаризацию товар (номенклатуру) в номенклатуре основной ведомости остатков, если его там нет - то найти его в новой номенклатуре и ввести в основную ведомость остатков, если его и здесь нет - то найти его в старой номенклатуре и ввести в основную ведомость остатков. Исчо могет быть вариант, что наименование номенклатуры не совпадает с написанном названием на товаре, т.е. наименование номенклатуры более высокого уровня (папки) = названию товара.


Понимаю, что объяснил усе коряво - если что постараюсь в процессе мнений (если он будет :) ) объяснить подробнее.

Приклепляю "выжимку" с наработанным на данный момент ...
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379018
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да уж, предельно ясная задача... :)
Я могу подсобить универсальным макросом http://hugo.nxt.ru/CompareFiles.Find.Rus.v090.rar
Внутри версия уже поновее.
Скопировать или найти данные между двумя листами (и разных файлов тоже) поможет. В несколько заходов можно может быть и всю задачу решить, там есть неполный поиск (по части названия).
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379028
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

Извините, забыл прикрепить...
"обрезал" как тока можно
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379043
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Посмотрел, но для меня в Вашем варианте не совсем удобно поиск по первому столбцу - предварительно много преобразовывать.
Но как направление решения интересно, спасибо. Может быть использую.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379054
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stepler,

Черт, проблемма с крепежом?
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379171
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поиск можно вести по любому столбцу, поставь его первым в списке, а следующими другие для сравнения данных (например M, A, B, C - ищет в М, затем при совпадении сравнивает данные из A,B,C)
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379490
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stepler, попробуй с такими настройками запустить - много повторов покажет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Файл - получатель:		C:\Инв4.xls
Файл - источник:		C:\Инв4.xls
Столбцы сравнения в файле  1 :		b
Столбцы сравнения в файле  2 :		b
Лист - получатель файла  1  (№):		 3 
Лист - источник файла  2  (№):		 2 
Столбцы - получатели файла  1 :		
Столбцы - источники файла  2 :		
Столбец для пометок в файле  1 		f
Столбец для пометок в файле  1 		f
Текст пометки		Есть!
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379664
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

спасибо, но что-то у мени по адресу файла пишет, что файл не найден...
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379699
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сотри адреса из G6, G7 и запусти макрос - он предложит 2 раза выбрать файлы в диалоге, укажи оба раза один и тотже файл. Все рыжие поля запрашиваются в диалоге, если не заполнены, т.к. это обязательные для работы поля.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379835
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Протестировал, но меня больше интересует вариант НАЙТИ то,что на бумаге в первом листе, если там нет, то во втором листе, если там нет, то в 3 листе и внести данные в первый лист...
А так простое сравнение данных - лучше использовать свои написанные наработки, чем адаптировать и изменять.
Спасибо, все равно, данный запрос для меня интересен мобильностью изменения первоначальных данных через ячейки. Я подобное (намерное по глупости) применил через форму, где менял вводимые данные из списка возможных, что приводило к замедлению процесса поиска...
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379877
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Попробывал запустить на полный список номенклатуры, чтобы понять изменение наименования старой и новой. Скорость выполнения ~1 строка/сек. Посчитал, будет вычислять около 8 часов!!! :)
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379891
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, есть тормоза, если 10тыс. на 10тыс. сверять... У нас списки поменьше, нам подходит.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379900
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Я ужо писал : 27 777 строк....
Насчет тормозов - предупреждать же нада!!! :)
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379920
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя я сейчас натравил на файлы где только номера 1-30000, так уже 1500 строк просчитал, пока пишу...
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379921
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так!!!
1С выполняет прогу уже 3,5 часа, Экселю осталось ~7,5 час ....
Пошел спать!!!
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379931
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так если эксель в фоне - точно тормозить будет. А выйты из кода по Esc можно.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36379944
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Знаю, но зачем - пусть трудится! Солдат спит - служба идет... :)
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36380182
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Да уж, предельно ясная задача... :)
Я могу подсобить универсальным макросом http://hugo.nxt.ru/CompareFiles.Find.Rus.v090.rar
Поизучал ваш код, сделал для себя ещё одно открытие.
А именно использование такого кода
Код: plaintext
Cells( 6 , "G")
.
Не знал, что тут можно использовать имя столбца, всегда использовал только порядковый номер столбца.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36380209
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я это по-моему у _Boroda_ подглядел, у него такой почерк особенный, я ещё стал использовать синтаксис типа [a1].value
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36380211
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Я это по-моему у _Boroda_ подглядел, у него такой почерк особенный, я ещё стал использовать синтаксис типа [a1].value
Да, про [a1].value я тоже на этом форуме узнал.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36380386
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SteplerPlanB,

Стоило отъехать в командировку.... и тут же с удивлением обнаружил интерес к своей задаче...

Поясню немного историю:
Прошла инвентаризация (пересчет материалов) одного из складов. Причем инвентаризацию проводили без остановки работы склада - фиксировали наличие пересчитанного в этот день товара на конец дня. В результате имеем:
1) по данным пересчета данные (номенклатуру) как найденные в ведомости остатков, так и не найденные на каждый день пересчета.
2) за время проведения инвентаризации "доблестные" бухопера изменили (никто не знает скока) наименований номенклатуры. Поэтому имеем для работы исчо один архивный файл со старой номенклатурой.

Задача:
найти выявленный в инвентаризацию товар (номенклатуру) в номенклатуре основной ведомости остатков, если его там нет - то найти его в новой номенклатуре и ввести в основную ведомость остатков, если его и здесь нет - то найти его в старой номенклатуре и ввести в основную ведомость остатков. Исчо могет быть вариант, что наименование номенклатуры не совпадает с написанном названием на товаре, т.е. наименование номенклатуры более высокого уровня (папки) = названию товара.


Понимаю, что объяснил усе коряво - если что постараюсь в процессе мнений (если он будет :) ) объяснить подробнее.

Приклепляю "выжимку" с наработанным на данный момент ...А как понимать содержание таблицы (лист "НоменклатураДекабрь2009"):
Код1Полное наименованиеЕд.Н40722010 ПодшипникиН6099КольцоКольцо 036-042-36штзапись "Н4072 2010 Подшипники " - более высокого уровня, но я не пойму, по какому признаку была группировка.

как я понимаю, важна, помимо прочего ещё и производительность... вы не пробовали sql-запросом? В одно время сам пытался такие массивы обрабатывать кодами VB, но это сложно и медленно. лучше sql ещё ничего не придумали В запросе можно поставить условий сколько душе угодно.
Я думаю, что в таком варианте это можно сделать, только я в пример данных не въехал
сделайте совсем простой из 2 таблиц и руками то, что должно быть на выходе в третьей таблице.
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36380733
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player Поизучал ваш код. - если какие полезные замечания будут, с удовольствием послушаю, тут в форуме или на мыло. А лучше если замечания с улучшениями :)
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36381566
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, вот случайно зашёл по ссылке - Сравнение ячеек в Excel http://www.sql.ru/forum/actualthread.aspx?tid=529288

Задача ТС моим скриптом делается без какой-либо подгонки:
Выбрали два раза файл ТС,
Столбцы сравнения в файле 1: e
Столбцы сравнения в файле 2: a
Лист - получатель файла 1 (№): 1
Лист - источник файла 2 (№): 1
Столбцы - получатели файла 1: g
Столбцы - источники файла 2: c
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36382194
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код1Полное наименованиеЕд.Н40722010 ПодшипникиН6099КольцоКольцо 036-042-36штСдеся смысла в чем либо искать - бесполездно...(таки уж они работники). А так, как бы, кольцо енто часть подшипника :)

Stepler....сделайте совсем простой из 2 таблиц и руками то, что должно быть на выходе в третьей таблице.... СМЕШНО!!! :) Нада сразу работать с 3 таблами и + рукописная ведомость (как табл4). Про sql-запрос думал, даже думал всю енту хрень перетянуть в Акссес, но 1) sql-запрос менее нагляден 2) пока отлаживать SQL или Акссес, времени не хватит усе состыковать - и так сроки поджимают...

PlanB ...только я в пример данных не въехал Это мине тоже понравилось....
...
Рейтинг: 0 / 0
Многокритериальный фильтр
    #36382531
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Djon Player Поизучал ваш код. - если какие полезные замечания будут, с удовольствием послушаю, тут в форуме или на мыло. А лучше если замечания с улучшениями :)Ну я не до такой степени его изучал, чтоб делать замечания, да и цель была не в этом.
Меня больше всего интересовал стиль программирования и новые фишки, которые я раньше не знал и мне повезло, открыл для себя что-то новое.
Интересно, откуда все эти фишки находят люди, почему-то мне кажется, что в самом хелпе про них не написано, т.к. раньше ни разу не встречал, хотя варюсь в этой среде примерно 9 с половиной лет.
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Многокритериальный фильтр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]