277 Aufrufe
Gefragt in Tabellenkalkulation von rolwilwal Einsteiger_in (29 Punkte)
Hallo Spezialisten,
in einem Arbeitsblatt möchte ich Daten aus einem anderen Arbeitsblatt ü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

Darunter im Abstand von mehreren Zeilen möchte ich im gleichen Arbeitsblatt weitere Daten über einen zweiten Spezialfilter mit anderen Filterkriterien einfügen.
Händisch funktioniert das einwandfrei , 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

11 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Roland,

ändere mal das 2. Makro wie folgt ab:

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

Gruß

M.O.

0 Punkte
Beantwortet von rolwilwal Einsteiger_in (29 Punkte)
Hallo M.O.

Danke für deinen Vorschlag. Hat leider auch nicht funktioniert.

Gruß Roland
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Roland,

was funktioniert denn nicht? Funktioniert dein zweiter Code für sich allein?

Führst du beide Makros nacheinander aus oder hast du die in einem Code zusammengefasst?

Gruß

M.O.
0 Punkte
Beantwortet von rolwilwal Einsteiger_in (29 Punkte)
Hallo M.O.

die Makros werden unabhängig voneinander ausgeführt. (Möchte diese aber, wenn es dann mal funzt schon in einem Makro zusammenführen.)

Im Moment gehe ich so vor:

Ich führe das erste Makro aus und habe dann z.B. die Spaltenüberschriften und 3 gefilterte Datensätze mit dem Spezialfilter aus dem Arbeitsblatt 1 in das Arbeitsblatt 2 ab Zeile A2 kopiert.

Ab Zeile 20 möchte ich dann Datensätze mit anderen Filterkriterien ebenfalls aus dem Arbeitsblatt 1 in das Arbeitsblatt 2 kopieren.

Führe ich diesen Vorgang händisch aus, dann erscheinen ab Zeile 20 die Spaltenüberschriften und die gefilterten Datensätze so wie gewünscht.

Da ich diesen Vorgang automatisieren will, habe ich den zweiten Filtervorgang mit dem  Makrorekorder aufgezeichnet (2.Makro). Die Spaltenüberschriften und die gefilterten Datensätze werden bei der Aufzeichnung auch korrekt in das Arbeitsblatt kopiert.

Wenn ich dann aber das zweite Makro nach der Aufzeichnung ausführe, werden nur die Spaltenüberschriften kopiert und die gefilterten Datensätze werden nicht kopiert.

Führe ich das Ganze wieder händisch aus funktioniert es wieder.

Bin mit dem Spezialfilter eigentlich bisher gut vertraut. Auch was Filterkriterien etc. betrifft.

Aber dieses Problem ist für mich echt rätselhaft.

Gruß Roland
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Roland,

bei meinen Makrotests funktioniert das ohne Probleme. Kannst du vielleicht eine Beispieldatei, die im Aufbau deiner Datei gleicht, mit ein paar Dummy-Daten zur Verfügung stellen, damit man sich das mit deinem Originalaufbau ansehen kann? Wie du das machen kannst, das kannst du hier nachlesen: Anleitung

Gruß

M.O.

0 Punkte
Beantwortet von rolwilwal Einsteiger_in (29 Punkte)
Hallo M.O.,

leider ist die Datei trotz Reduktion auf ein paar Dummydaten noch 16 MB groß.
Wie kann ich dir diese Datei schicken?

Gruß Roland
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Roland,

du kannst die Datei auch hier hochladen (keine Registrierung notwendig): Link

Den entsprechenden Link musst du dann hier im Forum posten.

Gruß

M.O.

0 Punkte
Beantwortet von rolwilwal Einsteiger_in (29 Punkte)
Hallo M.O.,

hier der Link.

https://filehorst.de/d/cqcrEyIf

Gruß Roland
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Roland,

offensichtlich hat Excel mit Spezialfilter + Datum + VBA Probleme das Datum als Datum zu erkennen. Die Lösung ist das Datum in das amerikanische Format umzuwandeln (siehe hier).

Schreibe mal in Zelle AC2 die folgende Formel: =">"&TEXT(AC7;"MM/TT/JJJJ")

und in Zelle AD2 diese Formel: ="<"&TEXT(AD7;"MM/TT/JJJJ")

Dann führe noch einmal dein 2. aufgezeichnetes Makro aus. In deiner Testdatei hat es damit jedenfalls geklappt.

Gruß

M.O.

0 Punkte
Beantwortet von rolwilwal Einsteiger_in (29 Punkte)
Hallo M.O.,

Freudentanz!!!!!! Das war das Problem !!!!

Jetzt funktioniert alles. Ein ganz riesiges Dankeschön für die viele Mühe die du dir gemacht hast.

Gruß Roland
...