Ich hab mich am Bahnhof durch ein mobiles Impfteam impfen lassen und hab jetzt eine Frage: Ist es normal, dass das Zeug mit einem Löffel heiß gemacht wird und warum wollten die 200 Euro, obwohl ich doch krankenversichert bin?

Hallo Rene,

ich hoffe es geht Dir gut! Ich betreue gerade ein ziemlich spannendes Projekt für ein Unternehmen in der Schweiz, dass mich in meinen VBA-Kenntnissen bisher schon ziemlich gefordert aber auch gefördert hat. Jetzt bin ich allerdings an einem Punkt wo ich mit Google und alleinigem überlegen nicht mehr weiterkomme und habe die Hoffnung, dass Du einen Tipp für mich hast.

[…]

Ich habe quasi jeweils eine Liste mit den nach Wunsch aufbereiteten Rohdaten. In dieser soll jetzt an Hand von Daten aus einem Konfigfile (wird wie die Rohdaten über PowerQuery vom Server eingelesen) der entsprechende Filter auf den Verkäufer gesetzt werden und die daraus resultierenden Tabellen in ein neues Dokument exportiert werden. Ist der Vorgang abgeschlossen, kommt der nächste Filter etc. etc. Ich brauche also meines Erachtens einen iterativen Filter der auf Grund eines Kriteriums aus dem Konfigfile erstellt wird.

Leider bekomme ich diesen Part nicht wirklich hin.

Ich hoffe dass meine Mail soweit erstmal nachvollziehbar ist und dass Du vielleicht eine Idee hast, was ich hier noch machen oder an wen ich mich noch wenden kann. Ich weiß leider nicht mehr weiter und der Kunde wartet auf sein Reporttool.

Über eine Rückmeldung von Dir würde ich mich sehr freuen.

Danke Dir und liebe Grüße

Paul

Hallo Paul,

kennst du den Spezialfilter? Hast du schon einmal den AdvancedFilter in VBA benutzt? Ist nicht sehr schnell, aber nur eine Zeile Code um eine Liste durch eine Filterkriteriumsliste zu ziehen.

Verwende ich oft und gerne.

Polizei: „Ihre Reifen sind aber ganz schön abgefahren.“ Ich: „danke. Ihr Blaulicht fetzt aber auch gut.“

Ich habe mal wieder nicht aufgepasst!

Kennst du den Spezialfilter (Daten / Sortieren und Filtern / Erweitert)? Er erlaubt beispielsweise Unikate aus einer Liste herauszufiltern:

Der dahinterliegende VBA-Befehl lautet AdvancedFilter. Er ist ein Befehl (eine Methode des Zellbereichs) und einfach zu programmieren. Okay – er ist – bei großen Datenmengen – nicht sehr schnell – aber für „Kleinigkeiten“ sehr gut geeignet:

Dim xlBlatt As Worksheet
Dim xlQuellbereich As Range
Dim xlZielZelle As Range

Set xlBlatt = ActiveSheet
Set xlQuellbereich = xlBlatt.Range("A1").CurrentRegion
Set xlZielZelle = xlBlatt.Range("E1")

xlQuellbereich.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=xlZielZelle, Unique:=True

Anschließend kann man Spalte A:D löschen; die Ergebnisse sortieren, weiter verarbeiten …

Was passiert allerdings, wenn mein System keine Daten liefert? Eine leere Datenquelle:

Die Antwort: DANN läuft der Spezialfilter an die Wand! Also: aufpassen! Vorher überprüfen, ob WIRKLICH Daten vorhanden sind (xlQuellbereich.Rows.Count > 1). Sonst passiert das:

Ich hätte nie geglaubt, dass ich um 7 Uhr aufstehen und joggen gehen würde. Ich hatte recht.

Erstaunlich. Eigentlich mag ich den Spezialfilter gerne. Damit kann man schnell eine große Datenmenge durch ein „komplexes Filterkriterium“ hindurchziehen und erhält so das Ergebnis. Jedoch: [Strg] + [*] funktioniert nicht, um den Datenbereich zu selektieren. Allerdings [Strg] + [A]. Oder „klassisch“:

* [Strg] + [←]

* [Strg] + [↑]

* [Umschalt] + [Strg] + [↓]

* [Umschalt] + [Strg] + [→]

I bring the problems – you bring the drinks

Gestern beim Programmieren. Ich habe eine Liste – sagen wir mal mit zirka 50.000 Einträgen. Eigentlich nicht viel für Excel. Ich starte den Assistenten „Spezialfilter“ (Daten / Sortieren und Filtern / Erweitert) mit der Option „Keine Duplikate“:

Das Ergebnis: Excel wird sehr, sehr langsam (er benötigt zirka eine Minute für das Berechnen – wenn nicht sogar ein Absturz die Folge ist):

Die Lösung: „Duplikate entfernen“ im gleichen Register, Gruppe „Datentools“. In Bruchteilen von Sekunden erhalte ich das Ergebnis:

Meine Vermutung: Assistenten, die irgendwann in Excel Einzug hielten, werden NIEMALS mehr überarbeitet! Schade eigentlich.

Ich musste erst die Schafe aus meiner Wohnung treiben, die ich beim Einschlafen gezählt hatte.

Noch eine hübsche Frage aus der Schulung:

Wir üben den Spezialfilter, der über die Schaltfläche „Erweitert“ in der Registerkarte „Daten“ erreichbar ist.

„Ich erhalte eine seltsame Fehlermeldung“, lautet die Teilnehmerfrage:

Klar: „Sie haben nicht auf die Schaltfläche „Erweitert“ geklickt, sondern auf das Filtersymbol, mit dem der Autofilter eingeschaltet wird. Und – Excel hat recht – „Dies kann nicht auf den ausgewählten Bereich angewendet werden.“ Eben – es wurde nur eine Zelle ohne Daten markiert.

Old age is no place for sissies. (Bette Davis)

So schnell kann man alt aussehen. Versuchen Sie mal Folgendes:

Erstellen Sie eine Liste und formatieren Sie diese als intelligente Tabelle.

Legen Sie einen Datenschnitt fest.

Tragen Sie neben der Tabelle Kriterien ein und filtern die Tabelle mit Hilfe des Spezialfilters („Erweitert“) an eine andere Stelle.

Und schon ist der Datenschnitt veraltet! So schnell geht es!

Zum Glück kann man ihn wieder aktualisieren.

Freiheit für das Spielzeug: Lasst die Jo-Jos von der Leine!

Ist das so gewollt?

In einer Liste gibt es Berechnungen. Beispielsweise wird mit der Funktion MONAT aus einer Spalte die Monatszahl herausgerechnet:

Liste mit Formel(n)

Liste mit Formel(n)

Wendet man nun den Spezialfilter an (Daten / Sortieren und Filtern / Erweitert), um bestimmte Informationen herauszufiltern, wandelt Excel die Formel(n) in Werte um:

Spezialfilter und sein Ergebnis

Spezialfilter und sein Ergebnis

Der Spezialfilter filtert gar nichts – nur die Überschrift

Auch das kann zwei Ursachen haben. Entweder Sie verwenden falsch Feldnamen. Wenn beispielsweise in der Datenliste die Überschrift „Stadt“ lautet und Sie schreiben dann „Ort“, so wird kein Ort=Muenchen gefunden.

Noch perfider ist der Fehler, wenn Sie nicht „Ort“ eintragen, sondern „Ort „, also ein Leerzeichen hinter den Feldnamen.

So kann der Spezialfilter nicht filtern.

So kann der Spezialfilter nicht filtern.

Der Spezialfilter filtert zu viele Daten

Wenn der Spezialfilter nicht richtig arbeitet, haben Sie entweder die Kriterien falsch formuliert oder den Bereich falsch markiert.

Wenn Sie beispielsweise leere Zellen mitmarkieren, bedeutet dies, dass der Filter sowohl die Kriterien als auch jeden beliebigen Bereich filtern soll.

Zu viele Daten werden gefiltert

Zu viele Daten werden gefiltert

Bei den Kriterien wurden leere Zellen markiert.

Bei den Kriterien wurden leere Zellen markiert.

Nur gefilterte Daten können in das aktive Blatt kopiert werden.

Warum funktioniert der Spezialfilter nicht? Ich habe doch alles richtig gemacht?

Antwort: Der Spezialfilter hat einige „Tücken“. Der Cursor muss auf dem Tabellenblatt stehen, auf das die Daten hingefiltert werden sollen. Befinden sich also in tabelle1 die Daten, befindet sich Tabelle2 die Kriterien, dann muss der Cursor auf Tabelle3 stehen, wenn die Daten dorthin gefiltert werden sollen.

Spezialfilter funktioniert nicht.

Spezialfilter funktioniert nicht.