| AutoFilter einsetzen und programmieren | Home |
![]()
| Seiteninhalt Vermutlich jeder Excel-Benutzer hat schon mal den AutoFilter verwendet. Mit dieser Funktion ist es ja auch nicht sonderlich schwierig, schnell und einfach eine Datenliste zu filtern. Wer allerdings den AutoFilter intensiver als der Durchschnitt-Anwender einsetzt, wird sehr wahrscheinlich auf das eine oder andere Problem gestossen sein, denn auch diese Filter-Methode besitzt seine Grenzen und Schwächen. Auf dieser Seite werden Spezialitäten, "versteckte" Features, Probleme und Lösungen vorgestellt, die Ihnen helfen sollen, den gesamten Funktionsumfang des AutoFilters effizient verwenden zu können. |
Leserprofil Alle Excel-Anwender ohne spezielle Fachkenntnisse. Verschiedene hier vorgestellte Lösungen verwenden VBA-Makros, sodass Kenntnisse über die Arbeit mit dem VBA-Editor von Vorteil aber nicht zwingend sind. |
![]()
Allgemeine
Grundlagen
Eine kurze
Beschreibung der AutoFilter-Funktion
Technische Merkmale des AutoFilters
Häufig
gestellte Fragen
Wie
kann ich trotz gefilterter Liste ein Diagramm mit allen Datensätzen anzeigen?
Wie kann
ich die DropDown-Auswahlfelder von einzelnen Spalten ausblenden?
Wie kann
ich die Anzahl Datensätze des Filterergebnisses herausfinden?
Wie
kann man alle Spaltenüberschriften mit verwendetem AutoFilter markieren?
Wie
kann ein vom AutoFilter ermittelter Datensatz mit VBA gelöscht werden?
Wie
können alle gefilterten Datensätze mit VBA in ein neues Tabellenblatt kopiert werden?
Wie kann man
mit VBA nach einem deutsch formatierten Datum filtern?
Weitere Fragen
und Antworten...
Die Excel-Objekte des AutoFilters
Links und Downloads
Bugs und Probleme
Weitere Informationen
Downloads
Eine kurze Beschreibung der AutoFilter-Funktion
Die DropDown-Auswahllistenfelder des AutoFilters
Damit der AutoFilter eingesetzt werden kann, muss auf dem Arbeitsblatt eine
Datenliste (auch Datenbereich genannt) vorhanden sein. Eine Datenliste besitzt immer eine
Überschriften-Zeile und einen oder mehrere Datensätze (1 - n Records).
Wird der AutoFilter aktiviert, so erscheint in jeder
Zelle/Spalte der Überschriften-Zeile ein DropDown-Auswahllistenfeld (wie man einzelne
DropDown-Felder ausblenden kann, erfahren Sie hier). Jede Auswahlliste enthält folgende
fest definierte Einträge, die immer angezeigt werden:
- (Alle)
- (Top 10...)
- (Benutzerdefiniert...)
Wenn sich in einer Spalte eine leere Zelle befindet, so
werden zuunterst in der Auswahlliste dieser Spalte zwei weitere fixe Einträge angezeigt:
- (Leere)
- (Nichtleere)
Nach dem Eintrag "(Benutzerdefiniert...)" werden alle Zelltexte der jeweiligen Spalte alphabetisch aufsteigend sortiert aufgelistet, wobei keine Duplikate angezeigt werden.
Limitierte Anzahl Zelltexte in der Auswahlliste
Bitte beachten Sie, dass, wenn eine Spalte mehr als 1'000 Zellen mit
unterschiedlichen Inhalten umfasst, nur die ersten 1'000 Zelltexte in der Auswahlliste zu
sehen sind.
Einzelne DropDown-Felder ausblenden
In Excel selbst gibt es keine Möglichkeit, bestimmte DropDown-Felder
auszublenden. Mit einer einzigen VBA-Anweisung kann dies allerdings erreicht werden.
Technische Merkmale des AutoFilters
AutoFilter liefert Areas
Der AutoFilter liefert immer eine Anzahl Areas zwischen min. 1 und max. (Total Datensätze/2)+1.
Beschreibung folgt...
Wie kann ich trotz gefilterter Liste ein Diagramm mit allen Datensätzen anzeigen?
Vorgehen:
1. Diagramm-Objekt selektieren
2. Menübefehl "Extras/Optionen"
3. Registerkarte "Diagramm"
4. Einstellung "Nur sichtbare Zellen werden gezeichnet" deaktivieren

Wie kann ich die DropDown-Auswahlfelder von einzelnen Spalten ausblenden?
Antwort
Das geht nur mit VBA. Das folgende Beispiel entfernt die DropDown-Boxen
einer - in Zelle A1 beginnenden - Datenliste der Spalten B und D. Da die DropDown-Box der
Spalte B im zweiten Feld von links ab Zelle A1 gezählt steht, wird der Field-Parameter
auf 2 gesetzt. Analog dazu wird für die D-Spalte der Field-Parameter mit dem Wert 4
angegeben.
Beispiel
Worksheets("Mein
Autofilter").Range("A1").AutoFilter Field:=2, VisibleDropDown:=False
Worksheets("Mein Autofilter").Range("A1").AutoFilter Field:=4,
VisibleDropDown:=False
Wie kann ich die Anzahl Datensätze des Filterergebnisses herausfinden?
Antwort
Diese Frage wurde sehr wahrscheinlich gestellt, da in
bestimmten Situationen in der Statuszeile anstelle der Anzahl Datensätze nur "Filter
Modus" steht. Es handelt sich dabei um einen Excel-Bug. Mehr zu diesem Bug erfahren
Sie hier.
Excel-Formel
=TEILERGEBNIS()
VBA-Makro
Wie kann man alle Spaltenüberschriften mit verwendetem AutoFilter markieren?
Antwort
Antwort folgt...
VBA-Code (im
Worksheet_Calculate-Ereignis eingeben)
Private Sub Worksheet_Calculate()
Dim fltFilter As Filter
Dim intCol As Integer
For Each fltFilter In ActiveSheet.AutoFilter.Filters
intCol = intCol + 1
If fltFilter.On Then
Cells(1, intCol).Interior.ColorIndex = 6
Else
Cells(1, intCol).Interior.ColorIndex =
xlColorIndexNone
End If
Next
End Sub
Wie kann ein vom AutoFilter ermittelter Datensatz mit VBA gelöscht werden?
Antwort
Antwort folgt...
Wie können alle gefilterten Datensätze mit VBA in ein neues Tabellenblatt kopiert werden?
Antwort
Antwort folgt...
Wie kann man mit VBA nach einem deutsch formatierten Datum filtern?
Antwort
Antwort folgt...
Weitere Fragen und Antworten...
Viele weitere Fragen und Antworten zu den verschiedensten Themen finden Sie hier.
Die Excel-Objekte des AutoFilters
AutoFilter (Class)
| Element | Type | Contains/Returns | Arguments | Access |
| Application | Property | Application | None | Read only |
| Creator | Property | XLCreator | None | Read only |
| Filters | Property | Filters | None | Read only |
| Parent | Property | Object | None | Read only |
| Range | Property | Range | None | Read only |
Filters (Class)
| Element | Type | Contains/Returns | Arguments | Access |
| Application | Property | Application | None | Read only |
| Count | Property | Long | None | Read only |
| Creator | Property | XLCreator | None | Read only |
| Item | Property | Filter | Index As Long | Read only |
| Parent | Property | Object | None | Read only |
Filter (Class)
| Element | Type | Contains/Returns | Arguments | Access |
| Application | Property | Application | None | Read only |
| Creator | Property | XLCreator | None | Read only |
| Criteria1 | Property | Variant | None | Read only |
| Criteria2 | Property | Variant | None | Read only |
| On | Property | Boolean | None | Read only |
| Operator | Property | XlAutoFilterOperator | None | Read only |
| Parent | Property | Object | None | Read only |
AutoFilter (Property of 'Worksheet')
| Element | Type | Contains/Returns | Arguments | Access |
| AutoFilter | Property | AutoFilter | None | Read only |
AutoFilterMode (Property of 'Worksheet')
| Element | Type | Contains/Returns | Arguments | Access |
| AutoFilterMode | Property | Boolean | None | Read and Write |
EnableAutoFilter (Property of 'Worksheet')
| Element | Type | Contains/Returns | Arguments | Access |
| EnableAutoFilter | Property | Boolean | None | Read and Write |
Hinweis
Die Eigenschaft 'EnableAutoFilter' kann auch im
Eigenschaften-Fenster der VBE eingestellt werden. Diese Einstellung wird jedoch nicht mit
dem VBA-Projekt bzw. der Arbeitsmappe gespeichert. Wird die Mappe geschlossen und neu
geöffnet, besitzt 'EnableAutoFilter' immer die Default-Einstellung "True".
AutoFilter (Method of 'Range')
| Element | Type | Contains/Returns | Arguments |
| AutoFilter | Method (Sub) | N/A | [Field], [Criteria1], [Operator As xlAutoFilterOperator = xlAnd], [Criteria2], [VisibleDropDown] |
XlAutoFilterOperator (Enum)
| Element | Value |
| xlAnd | 1 |
| xlBottom10Items | 4 |
| xlBottom10Percent | 6 |
| xlOr | 2 |
| xlTop10Items | 3 |
| xlTop10Percent | 5 |
XL2000: Processor Spikes at 100 Percent When You
Click AutoFilter Arrow
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q323785
Dieser Artikel beschreibt ein CPU-Problem, das sich mit einem Hotfix
(vom 1. Juli 2002) beheben lässt.
XL2000: AutoFilter List Hides Rows Even After
Information Is Cleared
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q214287
XL97/XL2000: How to Remove Individual AutoFilter Drop-Down Lists
XL97/XL2000: How to AutoFilter Records Based on Cell
Formatting
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q151449
Dieser Artikel beschreibt, wie man mit dem AutoFilter nach
Zellformatierungen filtern kann (Formel-Lösung ohne VBA-Code).
![]()
Zuletzt aktualisiert am
27.01.2006 / 21:30 Uhr
© 2002-2006 by Philipp von Wartburg, CH-8916 Jonen
Alle Rechte vorbehalten