
У меня есть три рабочих листа
ConditionSheet
: Имея значение условий в ячейкеE5
&E7
SourceSheet
: Полные данныеTargetSheet
: Когда я запускаю макрос,New worksheet
создайте его с этим именем на основеconditionSheet
значения.
Я SourceSheet
хочу создать новый рабочий лист с определенными данными.
В ConditionSheet
ячейке E5
, имеющей 1-й критерий и E7
имеющей 2-й критерий
На основе этого я хочу создать новый рабочий лист с именем «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
Я хочу копировать только данные, основанные на определённых критериях.
Пожалуйста, помогите мне.
(Спасибо зрителям и ответившим пользователям)