Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1812to1816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro zum Autofiltern von Spalten

Makro zum Autofiltern von Spalten
25.02.2021 10:03:10
Spalten
Hallo Ihr Exelexperten.
Habe ein Problem und hoffe Ihr könnt mir helfen. Ich dachte ich könnte mit dem Makrorecorder dokumentieren und über mehrere Monate dann verwenden wie alle Werte von 0 und Leerzeilen zu entfernen sind. Denn die Werte die der Makrorecorder aufzeichnet, sind genau die, welche sich monatlich dynamisch entwickeln (mal mehr mal weniger) wobei die Nullwerte Konstant sind. Wie kann ich es anstellen, das das Makro genau diese entweder aufzeichnet, oder wie müsste es sonst aussehen. Der zu Filternde Bereich geht von E3 bis E240.
Ich hoffe Ihr könnt mir helfen
Für eure Mühe danke ich im voraus.
LG Robert

Sub Sortieren()
' Makro Sortieren
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWorkbook.Worksheets("Tabelle2").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle2").AutoFilter.Sort.SortFields.Add Key:= _
Range("B1:B240"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle2").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=-27
Columns("E:E").Select
ActiveSheet.Range("$A$1:$F$240").AutoFilter Field:=5, Criteria1:=Array( _
"104", "105,4", "106", "108", "114", "11627,16", "117,6", "12", "12,2", "12,4", "120",  _
_
"122", "124,8", "128", "13,4", "132", "14,6", "140,8", "142,4", "145", "150,8", "154",  _
_
"16", "16,4", "160", "164,8", "168", "178,4", "18", "18,4", "18,48", "20", "20,4", "21", _
_
"22,4", "24", "247,2", "25,2", "26", "26,4", "27,6", "28", "28,6", "3,68", "30", "31,64" _
, _
"32", "32,04", "33", "33,24", "34", "34,2", "36", "36,2", "38", "38,4", "40", "42", "42, _
4", _
"42,6", "44", "44,8", "46", "46,4", "48", "48,4", "48,8", "5,6", "50", "51,2", "52", " _
54", _
"55,2", "56", "57,84", "58", "58,4", "59,2", "6", "60", "61,2", "62", "62,4", "64", "64, _
8", _
"66,4", "68", "69", "69,6", "70,4", "71,2", "72", "73,2", "73,6", "74", "74,4", "74,8",  _
_
"75,2", "76", "76,4", "76,8", "77,92", "78,4", "8,2", "80", "81,6", "82,4", "84", "88",  _
_
"9,12", "92", "95", "95,2", "96", "98,4", "99,2"), Operator:=xlFilterValues
ActiveWindow.SmallScroll Down:=39
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Autofiltern von Spalten
25.02.2021 10:58:23
Spalten
Hallo Robert,
statt alle anzuzeigenden Werte auswählen, musst du einen benutzerdefinierten Zahlenfilter verwenden.
Hier musst die "entspricht nicht" 0 UND "entspricht nicht" Leer wählen.
LG
Franz
Sub Sortieren()
' Sortieren Makro
Dim wks As Worksheet
Dim rngFilter As Range
Dim rowLast As Long
Set wks = ActiveWorkbook.Worksheets("Tabelle2")
With wks
'falls Liste gefiltert, dann alle Daten einblenden
If .FilterMode = True Then .ShowAllData
'falls Autofilter aktiv, dann AUtofilter deaktivieren
If .AutoFilterMode = True Then .AutoFilterMode = False
'letzte benutzte Zeile im Blatt
With .UsedRange
rowLast = .Row + .Rows.Count - 1
End With
'zu filternden Zellbereich inkl. Titelzeile setzen Spalten A:F ab Zeile 4
Set rngFilter = .Range(.Cells(4, 1), .Cells(rowLast, 6))
'Autofilter für Zellbereich aktivieren
rngFilter.AutoFilter
'Sortierung zurücksetzen und nach Spalte B sortieren
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.Add2 Key:= _
rngFilter.Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With .AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Zeilen mit 0-Wert und leere Zellen in Spalte E ausblenden
rngFilter.AutoFilter Field:=5, Criteria1:="0", Operator:=xlAnd, Criteria2:=""
End With
End Sub

Anzeige
AW: Makro zum Autofiltern von Spalten
25.02.2021 13:44:45
Spalten
Hallo Franz.
Herzlichen Dank für Deine mühe und das Du mir geholfen hast. Es besteht jetzt noch ein Problem. _ In dem Teil unten wird das Makro gestoppt und der Text gelb Markiert ausgegeben beim Debuggen.

.AutoFilter.Sort.SortFields.Add2 Key:= _
rngFilter.Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal

Ich habe im ersten Beitrag geschrieben der zu Filternde Bereich geht von E3 bis E240. Dabei ist E3 die Zeile mit den Überschriften. Die Gesamttabelle geht von A3 (Überschriftenspalte) bis F240.
Vielleicht kannst Du noch mal schauen.
Danke für Deine Mühe.
LG Robert
Anzeige
AW: Makro zum Autofiltern von Spalten
25.02.2021 23:37:37
Spalten
Hallo Robert,
ändere
    'zu filternden Zellbereich inkl. Titelzeile setzen Spalten A:F ab Zeile 4
Set rngFilter = .Range(.Cells(4, 1), .Cells(rowLast, 6))

in
    'zu filternden Zellbereich inkl. Titelzeile setzen Spalten A:F ab Zeile 3
Set rngFilter = .Range(.Cells(3, 1), .Cells(rowLast, 6))

Falls die letzte Zeile unbedingt fix sein soll, dann ersetze zusätzlich rowLast durch 240.
Falls es nicht funktioniert, dann lade eine Beispieldatei mit dem Tabellenblatt und ggf. anonymiserten Daten hoch, damit ich testen kann.
LG
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige