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: