AutoFilter einsetzen und programmieren Home 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.

Inhalt

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

To Top


Allgemeine Grundlagen

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.

To Top

 


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...

To Top

 


Häufig gestellte Fragen

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

Excel-Optionen für Diagramme

To Top

 

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

To Top

 

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
 

To Top

 

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

To Top

 

Wie kann ein vom AutoFilter ermittelter Datensatz mit VBA gelöscht werden?

Antwort
Antwort folgt...

To Top

 

Wie können alle gefilterten Datensätze mit VBA in ein neues Tabellenblatt kopiert werden?

Antwort
Antwort folgt...

To Top

 

Wie kann man mit VBA nach einem deutsch formatierten Datum filtern?

Antwort
Antwort folgt...

To Top

 

Weitere Fragen und Antworten...

Viele weitere Fragen und Antworten zu den verschiedensten Themen finden Sie hier.

To Top

 


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

To Top

 


Links und Downloads

Bugs und Probleme

XL97/XL2000: AutoFilter Status Bar Message Shows "Filter Mode"
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q189479
arrow_r.gif (830 Byte) Dieser Artikel beschreibt das Problem, dass in bestimmten Fällen anstelle der Meldung "x von y Datensätzen gefunden" nur "Filter Modus" in der Statuszeile erscheint.

XL97: Using AutoFilter May Take a Long Time
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q173429
arrow_r.gif (830 Byte) Dieser Artikel beschreibt, weshalb bei bestimmten Gegebenheiten das Filtern mit dem AutoFilter überdurchschnittlich lange dauern kann.

XL97/XL2000: Not All List Items Are Displayed in the AutoFilter List
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q295971
arrow_r.gif (830 Byte) Dieser Artikel beschreibt die Limitation, aufgrund welcher maximal 1'000 Einträge in der DropDown-Auswahlliste angezeigt werden. Mehr zu dieser Limitation erfahren Sie hier.

XL2000: Processor Spikes at 100 Percent When You Click AutoFilter Arrow
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q323785
arrow_r.gif (830 Byte) 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

To Top

 

Weitere Informationen

XL97/XL2000: How to Remove Individual AutoFilter Drop-Down Lists
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q162049
arrow_r.gif (830 Byte) Dieser Artikel beschreibt, wie die DropDown-Auswahllisten einzelner Spalten entfernt werden können.

XL97/XL2000: How to AutoFilter Records Based on Cell Formatting
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q151449
arrow_r.gif (830 Byte) Dieser Artikel beschreibt, wie man mit dem AutoFilter nach Zellformatierungen filtern kann (Formel-Lösung ohne VBA-Code).

To Top

 

Downloads

 

To Top

Haben Sie Fragen, Anregungen oder einen Fehler entdeckt?
Mail senden an philipp_von_wartburg@yahoo.de

Zuletzt aktualisiert am 27.01.2006 / 21:30 Uhr
© 2002-2006 by Philipp von Wartburg, CH-8916 Jonen
Alle Rechte vorbehalten