Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter ab Zeile ..

Autofilter ab Zeile ..
30.07.2020 09:12:03
Fred
Hallo Excel,- VBA Profis,
wenn ich den Autofilter in einem Sheet setzen möchte (erste Zeile Überschriften, nächste Zeilen Daten) beginne ich zB
On Error Resume Next
Worksheets("Import").ShowAllData
On Error GoTo 0
Set Bereich = Worksheets("Import").UsedRange
Bereich.AutoFilter Field:=6, Criteria1:=88

Meine Frage;
wie schreibe ich nun den Code, wenn ich ab Zeile 7 (Spaltentitel) den Filter setzen möchte?
Gruss
Fred
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter ab Zeile ..
30.07.2020 09:22:15
Werner
Hallo,
ohne UsedRange, mit Ermittlung der letzten Zeile und Spalte.
Public Sub Filter()
Dim loZeile As Long, loSpalte As Long, raBereich As Range
With Worksheets("Import")
loZeile = .Cells(.Rows.Count, "F").End(xlUp).Row
loSpalte = .Cells(7, .Columns.Count).End(xlToLeft).Column
Set raBereich = .Range(.Cells(7, "A"), .Cells(loZeile, loSpalte))
raBereich.AutoFilter Field:=6, Criteria1:=88
End With
End Sub
Gruß Werner
Anzeige
AW: Autofilter ab Zeile ..
30.07.2020 09:27:05
Nepumuk
Hallo Fred,
meist genügt folgendes:
Rows(7).AutoFilter Field:=6, Criteria1:=88

Gruß
Nepumuk
AW: Autofilter ab Zeile ..
30.07.2020 09:45:33
Fred
Hallo Werner & Nepumuk,
danke für die schnelle Hilfe!
Die Ermittlung der letzten Zeile und Spalte ist bei meinem Sheet anscheinend nicht notwendig. Der Code von Nepumuk ist wohl an Kürze nicht zu toppen.
Vielen Dank!
Gruss
Fred
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Autofilter in Excel ab bestimmter Zeile setzen


Schritt-für-Schritt-Anleitung

Um den Autofilter in Excel ab einer bestimmten Zeile zu setzen, kannst du den folgenden VBA-Code verwenden. Dieser setzt den Filter ab Zeile 7, wo sich deine Spaltentitel befinden:

Sub FilterAbBestimmterZeile()
    On Error Resume Next
    Worksheets("Import").ShowAllData
    On Error GoTo 0
    Rows(7).AutoFilter Field:=6, Criteria1:=88
End Sub

Wenn du die letzte Zeile und Spalte dynamisch ermitteln möchtest, kannst du den folgenden Code verwenden:

Public Sub Filter()
    Dim loZeile As Long, loSpalte As Long, raBereich As Range
    With Worksheets("Import")
        loZeile = .Cells(.Rows.Count, "F").End(xlUp).Row
        loSpalte = .Cells(7, .Columns.Count).End(xlToLeft).Column
        Set raBereich = .Range(.Cells(7, "A"), .Cells(loZeile, loSpalte))
        raBereich.AutoFilter Field:=6, Criteria1:=88
    End With
End Sub

Häufige Fehler und Lösungen

  1. Fehler: "ShowAllData"-Methode funktioniert nicht.
    Lösung: Stelle sicher, dass tatsächlich Daten gefiltert sind. Der Fehler tritt auf, wenn kein Filter aktiv ist.

  2. Fehler: Filter wird nicht angewendet.
    Lösung: Überprüfe, ob die Zeile, ab der du den Filter setzen möchtest, tatsächlich Daten enthält. Der Befehl Rows(7).AutoFilter muss auf eine Zeile angewendet werden, die Daten hat.


Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du auch die Filterfunktion in Excel manuell aktivieren:

  1. Wähle die Zellen ab Zeile 7 aus, in denen du den Autofilter anwenden möchtest.
  2. Klicke auf die Registerkarte „Daten“ und wähle „Filter“.
  3. Der Autofilter wird dann auf die ausgewählten Zeilen angewendet. Dies ist eine einfache Methode, wenn du die Excel-Filter in der zweiten Zeile ohne Programmierung nutzen möchtest.

Praktische Beispiele

Angenommen, du möchtest Daten ab Zeile 7 filtern, um nur die Werte in Spalte F anzuzeigen, die gleich 88 sind. Der oben gezeigte VBA-Code wird in diesem Fall die gewünschten Ergebnisse liefern. Ein Beispiel für das Setzen mehrerer Filter könnte so aussehen:

Rows(7).AutoFilter Field:=6, Criteria1:=88, Operator:=xlOr, Criteria2:=99

Hiermit filterst du die Daten in Spalte F, um sowohl die Werte 88 als auch 99 anzuzeigen.


Tipps für Profis

  • Nutze UsedRange, um sicherzustellen, dass nur der genutzte Bereich gefiltert wird. Dies kann besonders nützlich sein, wenn du mit großen Datenmengen arbeitest.
  • Setze den Autofilter über VBA, wenn du regelmäßig Berichte erstellst. Das spart Zeit und minimiert Fehler.
  • Verwende Criteria1 und Criteria2, um gleichzeitig mehrere Werte in einer Zelle zu filtern, beispielsweise bei der Verwendung von excel filter mehrere werte in einer zelle.

FAQ: Häufige Fragen

1. Wie kann ich den Autofilter wieder entfernen?
Um den Autofilter zu entfernen, kannst du den Befehl AutoFilterMode verwenden:

Worksheets("Import").AutoFilterMode = False

2. Kann ich den Filter auf eine andere Zeile setzen?
Ja, ändere einfach die Zeilennummer in den oben genannten Codes. Zum Beispiel, um den Filter ab Zeile 5 zu setzen, ersetze Rows(7) durch Rows(5).

3. Wie filtere ich nur bis zu einer bestimmten Zeile?
Du kannst dies erreichen, indem du die End(xlUp)-Methode verwendest, um die letzte Zeile dynamisch zu ermitteln und dann den Filter nur für diesen Bereich anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige