yotyot
Goto Top

Excel 2010 VBA: Autofilter auf anderem Tabellenblatt

Moin!

Gibt es eine Möglichkeit, z.B. in Tabelle1!B18 einen Autofilter für Tabelle2!A:A zu erstellen?

Hintergrund: mit dem Autofilter finden Berechnungen sofort statt, mit einer Listbox muss ich das aufwändig aktualisieren, was bei den Datenmengen eine Weile dauert. Tabelle1 ist eine Übersichtsseite und Tabelle2 beinhaltet mehr, als der Anwender später wissen will...

Y.

Content-Key: 271054

Url: https://administrator.de/contentid/271054

Printed on: April 26, 2024 at 18:04 o'clock

Mitglied: 114757
114757 May 04, 2015 updated at 16:23:06 (UTC)
Goto Top
Wie wärs mit einer Gültigkeitsliste in B18 die auf das andere Sheet verweist ....

Gruß jodel32
Member: YotYot
YotYot May 05, 2015 at 06:45:16 (UTC)
Goto Top
Die bekomme ich bis jetzt nur so hin, dass ich das Makro dahinter komplett durchlaufen lassen muss. Das ist eine ganze Batterie von Makros, der ganze Durchlauf liegt derzeit bei knapp zwei Minuten und ja: dabei arbeite ich auch mit Arrays, weil's schneller geht. Sind ein paar mehr Daten, als nur ein paar platte Tabellen, die Herkunft sind umfangreiche Logdateien. Selbst, wenn ich nur den notwendigen Teil laufen lasse, liege ich noch bei über einer Minute.

Wir kriege ich das hin, dass ich bei Auswahl die Ergebnisse in einer ähnlichen Geschwindigkeit hinbekomme, wie beim Filtern? Da habe ich die Ergebnisse praktisch sofort, also mit einer kaum wahrnehmbaren Verzögerung. Das Problem sind an der Stelle wohl meine bedingten Ergebnisse, also Spalten, bei denen Zeilen nach Bedingung berechnet werden. Eine neue Auswahl bedeutet momentan 13 geänderte Ergebnisse über mehrere zehntausend Zeilen einschließlich Zeilenfärbung plus Zellfärbung plus Ein- und Ausblenden von bestimmten Zeilen plus bedingte Summen und noch ein paar anderen Spielereien.
Mitglied: 114757
114757 May 05, 2015 updated at 07:00:11 (UTC)
Goto Top
Ich glaube hier ist mal etwas mehr Info über deine Sheets angebracht. Ist so ziemlich unverständlich wie du das beschreibst.
Mach das ganze doch mal mit ein zwei Grafiken etwas deutlicher, dann kann man dir auch effektiver helfen.

Gruß jodel32
Mitglied: 116301
116301 May 05, 2015 at 09:16:36 (UTC)
Goto Top
Hallo Y!

Wir kriege ich das hin, dass ich bei Auswahl die Ergebnisse in einer ähnlichen Geschwindigkeit hinbekomme, wie beim Filtern?
Geht nichtface-wink

Verstehe auch nicht, wo jetzt genau das Problem bei der Makro-Steuerung des Autofilters liegt?

Wenn der AutoFilter aktiv ist, kannst Du per End(xlUp) die letzte sichtbare Zeile ermitteln und mit Range(...).Copy nur die sichtbaren Zellen an einen beliebigen Ort kopieren z.B. in ein leeres (unsichtbares) Sheet und den Bereich in einer ListBox anzeigen...

Grüße Dieter
Member: YotYot
YotYot May 05, 2015 at 09:35:45 (UTC)
Goto Top
Da hab ich extra schöne, beschriftete Screenshots gemacht und jetzt streikt der Proxy - nix Bild-Upload und der Admin ist auf ner Messe...

Ich versuch's nochmal etwas anders:

Ich habe mehrere Tabellenblätter: Übersicht, VKCs (Abkürzung für Verkaufschancen), Aktivitäten, Mitarbeiter, Zählbrett (das ist meine Spielwiese für Berechnungen), Kombi und noch ein paar andere. Ich konzentriere mich für die Erklärung mal auf "Kombi" und "Übersicht".
Auf dem Tab "Kombi" habe ich
Zeile 1: Überschriften, Autofilter
2: VKC-Nr 1
3: Aktivität 1 zu VKC-Nr 1
4: VKC-Nr 2
5-8: Aktivitäten 1-4 zu VKC-Nr 2
und so weiter. Also immer erst die VKC und dann die dazugehörigen Aktivitäten wie Termine, Telefonanrufe.

Die Zeilen mit den Aktivitäten sind anfangs hidden, werden auf Wusch bei Doppelklick auf eine VKC-Zeile für die jeweilige VKC angezeigt.
Wenn ich nun am unteren Ende diverse Summen über SUBTOTAL ausgeben lasse, aktualisieren die sich praktisch sofort, wenn ich in Zeile 1 einen Autofilter setze. Der geneigte Anwender möchte in den verschiedenen Spalten (derzeit 28) z.B. nach Kunde, Vertriebsmitarbeiter, Datum oder Status filtern.

Weil ich meinem geneigten Anwender aber nicht gleich die ganze Tabelle um die Ohren hauen will, die derzeit bei knapp 8.000 Zeilen liegt, aber gerne mal auch 30.000 Zeilen haben kann, habe ich unter anderem für einen schnellen Überblick eine Übersichts-Tab.

In dieser Übersicht werden die gleichen Summenwerte angezeigt, wie in dem Tab "Kombi". Was ich jetzt möchte, ist:
Auf dem Tab "Übersicht" so etwas wie den Autofilter setzen, was ja mit einer Listbox z.B. machbar wäre. Ich möchte aber, dass sich dieser "Autofilter" auf das Blatt "Kombi" auswirkt. Ich erhoffe mir davon, dass ein Filter praktisch zu einer sofortigen Änderung der Summenwerte führt. Bisher lass ich dafür ein Makro durchlaufen, was über die verschiedenen Tabs in diversen Schleifen das zusammenrechnet, was SUBTOTAL auf einen Schlag macht.
Ich will also auf Tab "Übersicht" einen Autofilter setzen, der sich auf das Tab "Kombi" auswirkt. Auf "Übersicht" habe ich die gesamte Tabelle nicht zur Verfügung.

Ist so etwas möglich?
Mitglied: 114757
Solution 114757 May 05, 2015 updated at 11:34:50 (UTC)
Goto Top
Ist so etwas möglich?
Ja, indem man mit einem Makro den Autofilter des Sheets Kombi setzt.
z.B. so
Worksheets("Kombi").Range("A1:ZZ" & .UsedRange.SpecialCells(xlCellTypeLastCell).Row).AutoFilter Field:=1, Criteria1:="Suchwort"  
Das Suchwort etc. pp kann man ja in eine Listbox oder Zelle packen.
Member: YotYot
YotYot May 05, 2015 at 11:37:00 (UTC)
Goto Top
Cool! So funktioniert's! Jetzt noch ein paar Anpassungen, damit es automatisch läuft und einen Fehler ausbauen, weil Zeilen eingeblendet werden, die nicht eingeblendet werden sollen, aber das ist Kleinkram.

Manchmal sieht man ja auch den Wald nicht... weil man die Bäume abgeholzt hat.

Danke!

Y.