Страницы: 1
RSS
Значения из двух динамических таблиц в одну со сложными условиями: обрабатываемые строки, сумма, условие.
 
Добрый день. Интересует создание макроса, но нет понимания скорости его работы. Так как медленный макрос - будет выброшенным временем или неправильно освоенными деньгами. Обрабатываем каждую новую строку первой таблицы: выбираем обрабатываемые строки, суммируем столбец, проверяем фильтром, добавляем выборочные значения из двух таблиц в третью. Если в секунду добавится 100 строк в таблицу, построчно обходить макросом каждую строку будет значительная задержка - 3-5 секунд. Подскажите, какие процедуры, может словарь или коллекции лучше использовать для самой быстрой обработки, или разом все 100 строк обрабатывать какой-то процедурой? Во вложении файл образец и там подробное описание работы макроса.
Изменено: Алексей - 02.02.2022 23:21:26
 
даже не знаю... 100-150 тыс строк обрабатываются за 0.хз секунды
конечно время сильно зависит от "на предмет чего обрабатываются"
но 10-20 тыс строк обычно обрабатывайся сразу после того, как была отпущена кнопка "Обработать" (после нажата)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, может там гипотеза Коллатца проверяется для ещё не проверенных 150k значений :)
Думаю, в pq+pp будет шустро. В макросы не полезу :)
Изменено: surkenny - 31.01.2022 23:08:38
 
что-то мне кажется с таким ТЗ это в раздел Работа нужно...
А там уже заказчик-исполнитель решат что лучше макросы, pq+pp, С++
Хотя может кто и осилит все инструкции ТС
Изменено: New - 31.01.2022 23:15:05
 
Согласен с NEW серьезное задание. Для того чтобы ответить, как лучше в VBA, надо толком разобраться с условиями проверки. Согласен с Игорем  Гончаренко, что можно и VBA. Если к примеру 100 строк в секунду через 63 секунды запускать макрос (как у вас написано хотя это не обязательно) 6300 новых строк на 1 листе. Это наверно лучше в словарь (По моему словарь быстрее чем коллекции). Что касается данных на 2 листе, то надо сначала разобраться с условиями, может и метод Find будет лучше, хотя и заполнения словаря(25000 строк) будет почти мгновенно, о чем написал Игорь Гончаренко. Поэтому время в основном будет зависеть от  ваших условий проверки и фильтрации.
Цитата
построчно обходить макросом каждую строку будет значительная задержка - 3-5 секунд.
Ну тут вы наверно переборщили. Надеюсь у вас комп не 486 DX2.
 
Цитата
Евгений Смирнов написал:
По моему словарь быстрее чем коллекции
Да, до 100 тыс (или до 300тыс, точно не помню), потом уже Коллекция быстрее. Соответственно, если у вас больше 100-300 тыс, то нужна коллекция, если меньше, то Словарь
Страницы: 1
Наверх