У меня три листа

  1. ConditionSheet : наличие значения условия в ячейке E5 и E7

  2. SourceSheet : полные данные

  3. TargetSheet : при запуске макроса создается New worksheet с этим именем на основе значения conditionSheet .

Из SourceSheet я хочу создать новый рабочий лист с конкретными данными.

В ячейке ConditionSheet таблицы E5 имеющей 1-й критерий, и E7 имеющей второй критерий

Исходя из этого, я хочу создать новое имя рабочего листа «TargetSheet»

При этом только те копии данных из SourceSheet чье значение Column F совпадает со значением ячейки E5 в ConditionalSheet и Column H значения SourceSheet совпадают со значением E7 ConditionalSheet

Второй критерий является необязательным, поэтому я использовал функцию IIF для прохождения условия.

Следующая команда скопировала все данные из sourcesheet будь то одно или два условия.

Sheets("SourceSheet").Range("A1:AB" & Worksheets("TargetSheet").Rows.Count).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=IIf(Sheets("ConditionSheet").Range("E7") = "", Sheets("ConditionSheet").Range("E5:E5"), Sheets("ConditionSheet").Range("E5:E7")), _
CopyToRange:=Sheets("TargetSheet").Range("A1"), _
Unique:=True

Я хочу копировать только данные на основе критериев.

Пожалуйста, ведите меня.

(Спасибо за просмотр и ответили пользователи)

0