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