Autor: Max Kaffl (Nepumuk)  --- Aus Excel VBA - Gruppe: Häufige Fragen

Gefilterte Listen kopieren

Autor: Max Kaffl (Nepumuk) - Erstellt: --      - Letzte Revision: --
Eine gefilterte Liste kopieren

Das folgende Makro sucht sich die gefilterte Liste in der Tabelle1 und kopiert diese nach Tabelle2. Dazu ermittelt es die Startzeile und Startspalte der Liste und sucht nach der ersten gefilterten Spalte, da nur diese garantiert lückenlos ist.

Option Explicit

Public Sub KopierenFilterbereich()
    Dim lngFilterRow As Long, lngFilterColumn As Long
    Dim lngFilter As Long
    With Worksheets("Tabelle1")
        If .AutoFilterMode Then
            If .FilterMode Then
                With .AutoFilter
                    lngFilterRow = .Range.Row
                    lngFilterColumn = .Range.Column
                    With .Filters
                        For lngFilter = 1 To .Count
                            If .Item(lngFilter).On Then Exit For
                        Next
                    End With
                End With
                .Range(.Range(.Cells(lngFilterRow + 1, lngFilterColumn), _
                    .Cells(lngFilterRow + 1, _
                     lngFilterColumn + .AutoFilter.Filters.Count - 1)), _
                    .Cells(lngFilterRow, lngFilter).End(xlDown)).Copy _
                    Worksheets("Tabelle2").Range("A1")
            Else
                MsgBox "Der Autofilter ist nicht gesetzt.", 48, "Hinweis"
            End If
        Else
            MsgBox "Kein Autofilter in der Tabelle.", 48, "Hinweis"
        End If
    End With
End Sub


Weitere Artikel der Gruppe: Häufige Fragen Aus Excel VBA
Nach oben