при повторном запуске макроса, данные добавляются к текущимСообщение от Avton
при повторном запуске макроса, данные добавляются к текущимСообщение от Avton
Всем привет
а зачем повторно запускать?Сообщение от burtom
после обеда подумаю
кстати, на большом массиве из 17 тыс. строк тупняки... можно как то улучшить?Сообщение от Avton
Всем привет
Оптимизировать практически невозможно: каждая фамилия в строчке сравнивается с каждой фамилией во всех строчках, поэтому 17000х16999=288983000 сравнений. Придется подождать, но отработать должна.Сообщение от burtom
По поводу повторно запускать, ну тут ничего не поделаешь, данные же уже записаны, будет добавлять, если сравнивать с теми данными, которые уже записаны, то это дополнительные проверки, которые еще больше замедлят.
Хотя можно оптимизировать, если все фамилии 100% идут в алфавитном порядке
отсортировать их в принципе не проблема. пусть будут отсортированы.Сообщение от Avton
Тут вот еще какое дело. В некоторых подразделениях ФИО может повторяться несколько раз, потому как несколько счетов. Речь только про подразделения, а не про филиалы, то есть только про вторую колонку
Можно сделать проверку, если текущая фамилия и фамилия, которую нашли принадлежит одному подразделению, то ничего не выводить.
Например, если будет такая ситуация:
123 2 Иванов И.И.
123 2 Иванов И.И.
То в таком случае поле заполнять не нужно
А если будет
123 2 Иванов И.И.
123 2 Иванов И.И.
123 1 Иванов И.И.
Тогда в результате поел будет заполнено след образом:
1. 123/1
2. 123/1
3. 123/2
Всем привет
http://ntg4.narod.ru/dublxlsx2.xlsmСообщение от burtom
Еще попробую оптимизировать, действительно на 17 очень долго
К сожалению проверок и условий много, поэтому скорость не так быстра как хотелось бы. Но добавил, то что, в заголовке окна, показывется сколько строк обработано и видно что макрос не завис.
http://ntg4.narod.ru/dublxlsx3.xlsm
17 тысяч строк минут за 7-9 обработает, надеюсь.![]()
у меня с сортировкой по ФИО отработал меньше чем за минуту ))Сообщение от Avton
сейчас попробую без сортировки
Всем привет
Макросы это хорошо, но что-то мне подсказывает что если немного почитаешь про "сводные таблицы" (там кстати сейчас всякие мастера их построения), то задача возможно будет решаться быстрее и красивее.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)