Есть макрос, который был написан около года назад, с Вашей помощью, за что спасибо. А сейчас его полезности не хватает. Точнее нужно больше функций.
Сам макрос работает как автофильтр, который берет диапазон номеров заказов из одного листа и применяет его в фильтре другого листа, где ищет совпадения и выдает таблицу с отобранными заказами. После этого копирует все полученное в другой лист.
Сейчас надо добавить еще один фильтр в этот цикл. В таблице заказов кроме номера заказа теперь появляется еще одна переменная - номер детали в заказе. То есть нужно при фильтрации каждого заказа фильтровать еще и номера деталей. В каждом заказе количество деталей разное, от 1 до 50, и нужно выбирать всегда разные. При этом количество заказов может быть тоже от 1 до 100. В итого работа макроса должна иметь тот же вывод, что и сейчас, но еще и уметь выбирать номера деталей для каждого заказа.
В программировании VBA не силен, больше в Pithon работаю, поэтому не догоняю многих вещей из VBA. Думал добавить в оператор цикла for еще и while, чтобы работал так: взять из списка значений для фильтра первое и присвоить в автофильтр фильтруемого диапазона на другом листе; пока фильтруем текущее значение по номеру заказа, запускаем фильтр по номеру детали (номера деталей записаны на том же листе, где и номера заказов. В одной ячейке указаны номера через запятую. Ячейка с номерами деталей напротив ячейки с номерами заказов), полученный двойной автофильтр для первого заказа оставляем и переходим на следующий заказ (i+1) и повторяем те же действия. Полученный результат из всех фильтрованных заказов с деталями копируем в лист1.
Пример файла прикрепил, только там попыток изменить нету, так как ни одна не сработала я решил оставить только исходную рабочую версию макроса.
Мозгов не хватает как это дело сделать параллельным. Объяснение, конечно, тоже хромает.
Если эта тема уже была где-то на форуме, то буду очень не против ее прочесть, чтобы сделать задуманное, но пока подобное не получилось найти. Может плохо ищу)
Сам макрос работает как автофильтр, который берет диапазон номеров заказов из одного листа и применяет его в фильтре другого листа, где ищет совпадения и выдает таблицу с отобранными заказами. После этого копирует все полученное в другой лист.
Сейчас надо добавить еще один фильтр в этот цикл. В таблице заказов кроме номера заказа теперь появляется еще одна переменная - номер детали в заказе. То есть нужно при фильтрации каждого заказа фильтровать еще и номера деталей. В каждом заказе количество деталей разное, от 1 до 50, и нужно выбирать всегда разные. При этом количество заказов может быть тоже от 1 до 100. В итого работа макроса должна иметь тот же вывод, что и сейчас, но еще и уметь выбирать номера деталей для каждого заказа.
В программировании VBA не силен, больше в Pithon работаю, поэтому не догоняю многих вещей из VBA. Думал добавить в оператор цикла for еще и while, чтобы работал так: взять из списка значений для фильтра первое и присвоить в автофильтр фильтруемого диапазона на другом листе; пока фильтруем текущее значение по номеру заказа, запускаем фильтр по номеру детали (номера деталей записаны на том же листе, где и номера заказов. В одной ячейке указаны номера через запятую. Ячейка с номерами деталей напротив ячейки с номерами заказов), полученный двойной автофильтр для первого заказа оставляем и переходим на следующий заказ (i+1) и повторяем те же действия. Полученный результат из всех фильтрованных заказов с деталями копируем в лист1.
Пример файла прикрепил, только там попыток изменить нету, так как ни одна не сработала я решил оставить только исходную рабочую версию макроса.
Мозгов не хватает как это дело сделать параллельным. Объяснение, конечно, тоже хромает.
Если эта тема уже была где-то на форуме, то буду очень не против ее прочесть, чтобы сделать задуманное, но пока подобное не получилось найти. Может плохо ищу)