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

Forumthread: Makro soll zudem aktive Autofilter entfernen

Makro soll zudem aktive Autofilter entfernen
17.04.2018 12:28:50
Jens
Liebe Helfenden,
folgendes Makro soll aktive Autofilter entfernen und danach nach Nachnahmen sortieren:
Sub nachname()
' nachname Makro
Dim wks As Worksheet, Zeile_L As Long
Set wks = ActiveSheet
With wks
'    Zeile_L = .UsedRange.Row + .UsedRange.Rows.Count - 1 'letzte benutzte Zeile im Blatt
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row 'Letzte Zeile mit Inhalt in Spalte A
If Zeile_L > 4 Then
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("$A$3:$AJ$" & Zeile_L).AutoFilter Field:=1
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.Add Key:= _
.Range("A3"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With .AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
.AutoFilterMode = False
End If
End With
End Sub
Das funktioniert soweit auch ganz gut, allerdings musste ich in der Praxis feststellen, das vorallem nachdem einzelne Blätter kopiert wurden, das Entfernen von aktiven Autofiltern beim ausführen des Makros nur "sporadisch" funktioniert.
Hat vlt. jemand noch eine Idee zwecks Optimierung?
LG und vielen Dank im Voraus
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro soll zudem aktive Autofilter entfernen
17.04.2018 12:59:45
Mario
Hallo Jens,
den Autofilter kannst du ja drinnen lassen.
Damit wird alles angezeigt und der Filter bleibt. Dann kannst du auch deinen Code zum sortieren verwenden.
On error resume next
ActiveSheet.ShowAllData
Hoffe das hilft.
mfg
Mario
AW: Makro soll zudem aktive Autofilter entfernen
17.04.2018 13:00:59
Daniel
Hi
um den Autofilter zurückzusetzen, kannst du auch ShowAllData verwenden.
zum Sortieren nehme ich in der Regel die alte Schreibweise, die bis Excel 2003 üblich war, die ist kürzer:

With wks
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row 'Letzte Zeile mit Inhalt in Spalte A
If Zeile_L > 4 then
'--- Autofilter aus
On error Resume Next
.ShowAllData
On Error Goto 0
'-- sortieren
.Range("$A$3:$AJ$" & Zeile_L).Sort Key1:=.Cells(1, 3), Order1:=xlascending, Header:= _
xlYes
end if
end With
Gruß Daniel
Anzeige
AW: Makro soll zudem aktive Autofilter entfernen
17.04.2018 13:58:38
Jens
Danke Freunde,
If Zeile_L >= 0 Then
hatte jetzt auch zu einem guten Ergebnis geführt.
Danke und LG
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige