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

Forumthread: nach filter erste zeile finden

nach filter erste zeile finden
abu
Hallo Zusammen,
ich hab ein kleines Problem und hoffe das mir hier jemand helfen kann.
Schreibe grad ein Makro um ein paar arbeiten zu vereinfachen:
1. setze Filter
2. loesche alle Zeilen
Mein Problem ist wie ich Excel sage wo die erste Zeile ist. Also die erste Zeile ist natuerlich Ueberschriften und wenn ich den Filter drauf hab dann ist die 2 Zeile ja nicht Zeile 2 sondern z.B. 1085 oder 596. Also immer anders. Die letzte Zeile finde ich mit einer Schleife aber wie definiere ich die erste Zeile?
Gruesse
abu
Anzeige

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

Betreff
Benutzer
Anzeige
AW: nach filter erste zeile finden
28.04.2010 12:58:42
Rudi
Hallo,
z.B. cells.specialcells(xlCellTypeVisible).areas(2).row
Gruß
Rudi
AW: nach filter erste zeile finden
28.04.2010 13:33:49
abu
Hallo Rudi,
danke fuer deine Antwort.
Leider bekomme ich es nicht hin. Vllt. koenntest du mal drueberschauen?
Sub Express()
Dim z As Long
'alles markieren und dann spaltengroesse und dann autofilter
Cells.Select
Cells.EntireColumn.AutoFit
Selection.AutoFilter
'RPS Classic EU loeschen
Selection.AutoFilter Field:=7, Criteria1:="RPS Classic EU"
With Worksheets("Sheet1")
z = 2
While .Cells(z, 1)  ""
z = z + 1
Wend
z = z - 1
'Rows("2:z").Select    'hier muesste stattdessen deine Zeile hin aber wie?
Selection.Delete Shift:=xlUp
End With
End Sub
Danke im voraus.
Gruss
abu
Anzeige
AW: nach filter erste zeile finden
28.04.2010 16:29:34
abu
Hallo alle,
es muss so lauten:
Rows(Cells.SpecialCells(xlCellTypeVisible).Areas(2).Row & ":" & z).Select
Danke Rudi!

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Erste Zeile nach Filter finden in Excel


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne den VBA-Editor mit ALT + F11.

  2. Neues Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)", wähle "Einfügen" und dann "Modul".

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub Express()
       Dim z As Long
       'alles markieren und dann Spaltengröße und dann Autofilter
       Cells.Select
       Cells.EntireColumn.AutoFit
       Selection.AutoFilter
    
       'RPS Classic EU löschen
       Selection.AutoFilter Field:=7, Criteria1:="RPS Classic EU"
    
       With Worksheets("Sheet1")
           z = 2
           While .Cells(z, 1) <> ""
               z = z + 1
           Wend
           z = z - 1
    
           'Hier wird die erste sichtbare Zeile nach dem Filter gefunden
           Rows(Cells.SpecialCells(xlCellTypeVisible).Areas(2).Row & ":" & z).Select
           Selection.Delete Shift:=xlUp
       End With
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: "Kein sichtbares Zellen gefunden"
    Lösung: Stelle sicher, dass der Autofilter aktiv ist und dass es sichtbare Zellen gibt, die gelöscht werden sollen.

  • Fehler: "Index außerhalb des Bereichs"
    Lösung: Überprüfe, ob die Daten in "Sheet1" tatsächlich vorhanden sind und ob der Filter korrekt gesetzt wurde.


Alternative Methoden

Eine alternative Methode, um die erste sichtbare Zeile nach dem Anwenden eines Filters zu finden, ist die Verwendung von Formeln. Du kannst die Funktion AGGREGAT in Kombination mit VERGLEICH verwenden, um die erste sichtbare Zeile zu ermitteln:

=AGGREGAT(15;6;A2:A100/ISTZAHL(A2:A100);1)

Diese Formel sucht nach der ersten sichtbaren Zelle in dem Bereich A2:A100, nachdem ein Filter angewendet wurde.


Praktische Beispiele

  1. Beispiel 1: Wenn du eine große Datentabelle hast und nur die Zeilen mit dem Kriterium "RPS Classic EU" löschen möchtest, setze den Filter wie im Makro beschrieben und führe das Makro aus.

  2. Beispiel 2: Um zu überprüfen, ob dein Makro korrekt funktioniert, kannst du eine Testtabelle mit zufälligen Werten erstellen und verschiedene Filter anwenden.


Tipps für Profis

  • Verwende Variablen: Um den Code flexibler zu gestalten, kannst du Variablen für die Filterkriterien und den Bereich verwenden.

  • Fehlerbehandlung: Füge eine Fehlerbehandlung zu deinem Makro hinzu, um unerwartete Situationen abzufangen. Zum Beispiel:

    On Error Resume Next
  • Dokumentation: Kommentiere deinen Code gut, damit du oder andere ihn später leichter verstehen können.


FAQ: Häufige Fragen

1. Wie kann ich den Filter auf mehrere Kriterien anwenden?
Du kannst das Criteria1-Argument im Autofilter-Befehl anpassen, um mehrere Kriterien zu definieren, z.B. Criteria1:="RPS Classic EU", Operator:=xlOr, Criteria2:="Anderes Kriterium".

2. Funktioniert dieser Code in allen Excel-Versionen?
Der gezeigte VBA-Code sollte in den meisten modernen Excel-Versionen ab Excel 2007 funktionieren. Achte darauf, dass die Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige