Eu tenho três planilhas
ConditionSheet : valor das condições na célula E5 & E7
SourceSheet : dados completos
TargetSheet : quando executo a macro New worksheet crie com esse nome com base no valor conditionSheet .
De SourceSheet , desejo criar uma nova planilha com dados específicos.
Em ConditionSheet Célula E5 com primeiro critério e E7 com segundo critério
Com base nisso, desejo criar o novo nome da planilha 'TargetSheet'
Nela, apenas os dados copiados de SourceSheet cujo valor Column F corresponde a E5 O valor da célula em ConditionalSheet & Column H do valor SourceSheet corresponde ao valor E7 de ConditionalSheet
O segundo critério é opcional, então usei a função IIF para passar a condição.
O seguinte comando copiou todos os dados de sourcesheet , seja uma ou duas condições.
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
Eu quero copiar apenas dados com base em critérios.
Por favor, me guie.
(Obrigado pelo usuário e pelos usuários respondidos)
Tags microsoft-excel