Есть макрос, который автоматически фильтрует номера заказов с несколькими дополнительными условиями. Пример прикреплен.
Его работа:
На листе 2 - база заказов по которым все фильтруется. На листе 3 - 2 столбца, значения которых записываются в фильтр. Первый - номер заказа, второй - номера деталей. После работы автофильтра на 2 листе все неподходящие строки скрываются и то что осталось копируется в лист 1.
Сейчас к нему хочу дописать еще одно условие - фильтровать номера заказов по условию "содержит" (так как раньше были короткие номера заказов, то было проще их вручную записать и не париться, а теперь новый вид, который руками в 10 раз дольше забивать. Придумали способ сокращенной записи для всех, а в базе так нельзя, вот и возникла потребность в изменении макроса). Как сделать не могу понять, еще и систему работы макроса не могу правильно составить, а начальство твердит: "Надо".
Нашел как записать код для "содержит":
но не для определенных значений, а любых, которые могут быть в ячейках, но не смог его правильным образом встроить. Так как хотел оставить текущую работу макроса, чтобы искал полные совпадения по ячейкам и добавить новое условие: "содержит" в ячейке, то возник вопрос - не будет ли работа макроса двойной? Например, сначала он найдет все по полному совпадению, а потом по "содержит" и отобразит дубликаты? Здесь важно оставить именно двойное условие, так как могут быть номера 1001 или 10011, а по "содержит" найдет оба варианта.
Очень надеюсь, что Вы поможете с этим вопросом. Обращался ни один раз и всегда выручали. Другие форумы так не могут)
Его работа:
На листе 2 - база заказов по которым все фильтруется. На листе 3 - 2 столбца, значения которых записываются в фильтр. Первый - номер заказа, второй - номера деталей. После работы автофильтра на 2 листе все неподходящие строки скрываются и то что осталось копируется в лист 1.
Сейчас к нему хочу дописать еще одно условие - фильтровать номера заказов по условию "содержит" (так как раньше были короткие номера заказов, то было проще их вручную записать и не париться, а теперь новый вид, который руками в 10 раз дольше забивать. Придумали способ сокращенной записи для всех, а в базе так нельзя, вот и возникла потребность в изменении макроса). Как сделать не могу понять, еще и систему работы макроса не могу правильно составить, а начальство твердит: "Надо".
Нашел как записать код для "содержит":
Код |
---|
Selection.AutoFilter Field:=1, Criteria1:="*" & Cells(1, 1) & "*", Operator:=xlAnd |
Очень надеюсь, что Вы поможете с этим вопросом. Обращался ни один раз и всегда выручали. Другие форумы так не могут)