Hallo,
ich habe ein Problem mit einem Makro für den Spezialfilter und bin jetzt nah der Verzweiflung, denn eigentlich bin ich schon auf der Zielgeraden. Ich muss dazu gleich sagen, dass ich von VBA nicht viel Ahnung habe und mir mit Makrorekorder und spezifischen Recherchen im Internet weiterhelfe.
Es geht darum, dass ich mittels Spezialfilter in Mappe A Daten aus Mappe B ziehen möchte. Das funktioniert auch, allerdings wird dabei der Autofilter, der in Mappe B (dort ist mein Listenbereich) gesetzt war, komplett entfent. Und genau der soll bleiben.
Merkwürdig ist, dass der AutoFilter in Mappe B bestehen bleibt, wenn ich den Spezialfilter "zu Fuß" ausführe, also über das Menü Daten --> Erweitert-...etc. Lasse ich genau diese Schritte aber über das Makro ausführen (das ich mit dem Rekorder aufgenommen habe), ist der AutoFilter weg.
Hier mal der Code, den ich nutze:
Range("Datenbank").AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("Suchkriterien"), CopyToRange:=Range("Zielbereich"), Unique _
:=False
Da der Code universell sein soll, habe ich die jeweiligen Zellbereiche als Namen im Namens-Manager angelegt. Dabei ist "Datenbank" der Name für den Listenbereich in Mappe B, "Suchkriterien" und " Zielbereich" befinden sich in Mappe A.und das ganze als Modul in einer Personal.xlsb gespeichert.
Ich hatte schon versucht, eine benutzerdefinierte Ansicht in das Makro einzubauen, damit sie vor dem Filtern gespeichert wird und im Anschluss wieder angewendet. Das klappt aber nur, wenn sich die Datenbank in derselben Areitsmappe befindet, wie Kriterien und Zielbereich. Da ich im Makro keine dateispezifischen Bezüge herstellen möchte (da es etliche solcher B-Mappen gbt und ich nicht jede namentlich im Makro aufführen möchte), wüsste ich nicht, wie ich auf Mappe B zugreifen kann, um ihre Ansicht temporär zu speichern.
Ich hoffe, dass ich mich nicht zu wirr ausgedrückt habe und mir jemand etwas auf die Sprünge helfen kann ;-) Ich konnte im Netzt nichts dazu finden.
|