Vba - AutoFilter
Hallo,
ich habe eine Excel-Datei mit ein paar Makros für einen User erstellt, um ihm viel Zeit zu ersparen bei einigen Auswertungen.
Das Sheet ist mit Filter-Optionen in einer Zeile versehen. Nun sollen automatisiert Auswertungen mit mehreren durch Makros gesetzten Filtern gefahren werden, in deren Folge eine neue Arbeitsmappe erzeugt wird mit nach bestimmten Namens-Vorgaben erzeugten Sheets darin. Es werden praktisch per Makro die Filter gesetzt, das Ergebnis in einer Tabelle innerhalb der Quellmappe erzeugt und diese dann in das in der neu erstellten Zielmappe in das jeweils nach Filter erzeugtem neuen Sheet reinkopiert.
Das funktioniert auch schon bestens. Ich verzweifel aber an einem kleinen Problem.
Unterhalb der AutoFilter-Zeile möchte ich nach der per Makro gesetzten Filterkombination den Index der ersten zutreffenden Zeile ermitteln, um sie dann als Variable weiterzuverwenden.
Ich habe schon alles Mögliche versucht, leider ohne Erfolg. Mir ist schon klar, dass es die "visible"-Eigenschaft gibt, ich hatte mir auch schon mal irgendwann eine Funktion gebastelt, damit für Berechnungen nur die "visible"-Zeilen berücksichtigt werden. Allerdings weiss ich momentan nicht mehr wie es war...
Vielleicht kann mir da ja mal Jemand einen kleinen Tipp geben?
Wie gesagt, es geht mir wirklich nur um die Ermittlung der ersten Zeile der Filterung (die Filter greifen erst ab Zeile 17, also die Einstellung erfolgt mittels der Zeile 16).
Gruß
Torsten
ich habe eine Excel-Datei mit ein paar Makros für einen User erstellt, um ihm viel Zeit zu ersparen bei einigen Auswertungen.
Das Sheet ist mit Filter-Optionen in einer Zeile versehen. Nun sollen automatisiert Auswertungen mit mehreren durch Makros gesetzten Filtern gefahren werden, in deren Folge eine neue Arbeitsmappe erzeugt wird mit nach bestimmten Namens-Vorgaben erzeugten Sheets darin. Es werden praktisch per Makro die Filter gesetzt, das Ergebnis in einer Tabelle innerhalb der Quellmappe erzeugt und diese dann in das in der neu erstellten Zielmappe in das jeweils nach Filter erzeugtem neuen Sheet reinkopiert.
Das funktioniert auch schon bestens. Ich verzweifel aber an einem kleinen Problem.
Unterhalb der AutoFilter-Zeile möchte ich nach der per Makro gesetzten Filterkombination den Index der ersten zutreffenden Zeile ermitteln, um sie dann als Variable weiterzuverwenden.
Ich habe schon alles Mögliche versucht, leider ohne Erfolg. Mir ist schon klar, dass es die "visible"-Eigenschaft gibt, ich hatte mir auch schon mal irgendwann eine Funktion gebastelt, damit für Berechnungen nur die "visible"-Zeilen berücksichtigt werden. Allerdings weiss ich momentan nicht mehr wie es war...
Vielleicht kann mir da ja mal Jemand einen kleinen Tipp geben?
Wie gesagt, es geht mir wirklich nur um die Ermittlung der ersten Zeile der Filterung (die Filter greifen erst ab Zeile 17, also die Einstellung erfolgt mittels der Zeile 16).
Gruß
Torsten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176099
Url: https://administrator.de/forum/vba-autofilter-176099.html
Ausgedruckt am: 03.04.2025 um 12:04 Uhr
2 Kommentare
Neuester Kommentar

Hallo TorstenB!
Wenn ich Dich richtig verstanden habe, dann in etwa so:
Gruß Dieter
Wenn ich Dich richtig verstanden habe, dann in etwa so:
'Beispiel mit Tabelle1 und AutoFilter in Spalte F Zeile 16
Sub RowIndex()
Dim EndLine As Long, Index As Long
With Sheets("Tabelle1")
EndLine = .Cells(.Rows.Count, "F").End(xlUp).Row
Index = .Range("F17:F" & EndLine).SpecialCells(xlCellTypeVisible).Row
End With
End Sub
Gruß Dieter