
Ich habe drei Arbeitsblätter
ConditionSheet
: Bedingungswert in ZelleE5
&E7
SourceSheet
: Vollständige DatenTargetSheet
: Wenn ich ein Makro ausführe,New worksheet
erstellen Sie es mit diesem Namen basierend aufconditionSheet
dem Wert.
Ich SourceSheet
möchte ein neues Arbeitsblatt mit bestimmten Daten erstellen.
In ConditionSheet
Zelle E5
mit 1. Kriterium und E7
mit 2. Kriterium
Auf dieser Grundlage möchte ich ein neues Arbeitsblatt mit dem Namen „TargetSheet“ erstellen.
Dabei werden nur die Daten kopiert, SourceSheet
deren Wert mit dem Zellenwert in & Column F
übereinstimmt. Der Wert stimmt mit dem Wert von überein.E5
ConditionalSheet
Column H
SourceSheet
E7
ConditionalSheet
Das zweite Kriterium ist optional, deshalb habe ich IIF
eine Funktion verwendet, um die Bedingung zu übergeben.
Der folgende Befehl kopiert alle Daten, unabhängig davon, sourcesheet
ob es sich um eine oder zwei Bedingungen handelt.
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
Ich möchte nur Daten basierend auf Kriterien kopieren.
Bitte führen Sie mich.
(Danke für den Betrachter und die antwortenden Benutzer)