2 x Spezialfilter im selben Arbeitsblatt
#1
Hallo Spezialisten,
in einem Arbeitsblatt möchte ich Daten über einen Spezialfilter einfügen.
Das funktioniert mit dem folgenden Makro einwandfrei:

Sheets("Mitgliederliste").Range( _
"Alle[[#Headers],[#Data],[Vorname]:[Familienverbünde]]").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Sheets(" Filterkriterien").Range("AM1:AN2"), _
CopyToRange:=Range("A2"), Unique:=False

Im Abstand von mehreren Zeilen darunter möchte ich im gleichen Arbeitsblatt weitere Daten über einen zweiten Spezialfilter mit anderen Filterkriterien einfügen.
Händisch funktioniert das,
aber mit dem folgenden aufgezeichneten Makro nicht:

Sheets("Mitgliederliste").Range("Alle[[#All],[Vorname]:[Familienverbünde]]"). _
AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets( _
" Filterkriterien").Range("AB1:AD2"), CopyToRange:=Range("A20:AH20"), Unique _
:=False

Was mache ich falsch. Kann mir jemand sagen wo da der Wurm drin ist und vielleicht eine Lösung anbieten? Wäre super!
Gruß Roland
Top
#2
Hi

Ein Versuch wäre die kleine Änderung in dem Teil.   CopyToRange:=Range("A20:AH20")
Code:
Sheets("Mitgliederliste").Range("Alle[[#All],[Vorname]:[Familienverbünde]]"). _
AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets( _
" Filterkriterien").Range("AB1:AD2"), CopyToRange:=Range("A20"), Unique _
:=False

Aber eben auch nur ein Versuch und keine Garantie.
Top
#3
Wenn Du eh schon mit VBA arbeitest, könntest Du auch die Kriterieninhalte ändern und, den Zielbereich jeweils überschreibend, dessen Ausgaben anderswo nacheinander untereinander kopieren.

Ich würde das gleich von vornherein so anlegen.

Stehen Spezialfilter-Kriterien UNTEREINANDER, ergibt sich außerdem sowieso inhaltlich ein ODER, also eine Vermehrung der Ausgabe. Nur halt nicht in der möglicherweise von Dir beabsichtigten Reihenfolge, aber so viel Daten-Im-Griff sollte eigentlich auch da sein, um auch dies zu steuern. Und doppelte Daten werden es in der Ausgabe vermutlich auch nicht, so dass es sich inhaltlich immer um ein XODER handelt.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • rowiwa
Top
#4
Moin,
@elex, Danke für deine Idee. hat leider auch nicht geklappt

@LCohen,
rätselhaft bleibt für mich nach wie vor warum der Spezialfilter beim Aufzeichnen des Makros funktioniert.
Die Daten werden entsprechend der Filterkriterien gefiltert und im Beispiel ab Zeile A20 eingefügt.
Beim Ausführen des aufgezeichneten Makros werden dann nur die Spaltenüberschriften aber keine Daten eingefügt.
D.h. doch, dass es grundsätzliche möglich ist den 2 mal per Spezialfilter Daten in ein Arbeitsblatt zu filtern nur mit 
Makro nicht. Großes ?
Im Anhang kannst du sehen wie das nach der Aufzeichnung aussieht.

Gruß Roland


Angehängte Dateien Thumbnail(s)
   
Top
#5
Hallo,

da kann ich dich beruhigen --> 2. Spezial in einem Blatt funktioniert .

Ich mach das immer mit Namen -> daher schaut das so aus

Sind jetzt 2 DatenQuellen -> gemeinsamer Filter -> Verschiedene Ziele


  Range("Rohdaten_Astaende").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Kriterien_Material"), CopyToRange:=Range( _
        "Ziel_AStaende"), Unique:=False
        
      Range("Rohdaten_Belege").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Kriterien_Material"), CopyToRange:=Range( _
        "Ziel_Belege"), Unique:=False
Top
#6
Hallo Dieter63,

Danke für das Beispiel. Meine Makros sehen im Grunde genauso aus. 

Gleiche Datenquelle, 2 verschiedene Filterkriterien, 2 verschiedene Ziele

Makro1:
Datenquelle -> Filterkriterien: AM1:AN2 -> Ziel: A2:AH2     funktioniert!!!

Makro2:
Datenquelle -> Filterkriterien: AB1:AD2 -> Ziel: A20:AH20   funktioniert nicht!!!

Das 2.Makro liefert nur die Spaltenüberschriften aus der Datenquelle aber keine Datensätze.
Ohne VBA klappt es einwandfrei.

Gruß Roland
Top
#7
Hallo zusammen,
das Problem ist gelöst.
Es lag an der Datumsformatierung in den Filterkriterienzellen.
Siehe Link
Vielen Dank an alle die mir geholfen haben.
Gruß Roland
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste