AW: VBA Filtern
02.01.2018 23:54:23
Werner
Hallo Michel,
ich bin davon ausgegangen, dass die Liste die gefiltert wird in der ersten Zeile Überschriften hat.
Public Sub Filtern_Kopieren_Sortieren()
Dim loLetzte As Long, loLetzteZiel As Long
'Bildschirmaktualisierung aus
Application.ScreenUpdating = False
With Worksheets("Tabelle1") 'Blattname anpassen
'letzte Zeile im Blatt ermitteln
loLetzte = .Cells(.Rows.Count, 3).End(xlUp).Row
'Autofilter auf A1 bis E letzte Zeile
.Range("A1:E" & loLetzte).AutoFilter Field:=3 _
, Criteria1:=Array("Hans Muster"), Operator:=xlFilterValues
'Filterergebnis kopieren ohne Überschriftenzeile
.AutoFilter.Range.Resize(.Rows.Count - 1).Offset(1, 0).Copy _
Worksheets("Tabelle2").Range("A1")
'Autofilter wieder raus
If .AutoFilterMode Then .AutoFilterMode = False
End With
With Worksheets("Tabelle2") 'Blattname anpassen
'letzte Zeile im Zielblatt ermitteln
loLetzteZiel = .Cells(.Rows.Count, 3).End(xlUp).Row
'Sortierfelder leeren
.Sort.SortFields.Clear
'Sortierspalte C1 bis C letzte Zeile
.Sort.SortFields.Add Key:=.Range("C1:C" & loLetzteZiel) _
, SortOn:=xlSortOnValues, Order:=xlAscending
'sorieren
With .Sort
.SetRange Range("A1:E" & loLetzteZiel)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
End With
'Bildschirmaktualisierung an
Application.ScreenUpdating = True
End Sub
Gruß Werner