Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

AutoFilter Criteria

AutoFilter Criteria
25.04.2017 10:43:14
tyroler
Hallo Zusammen,
ich bearbeite folgenden Code:
With WsS
If .AutoFilterMode Then .AutoFilterMode = False
Set Daten = .Range(.Cells(2, 1), .Cells(.Rows.Count, 15).End(xlUp))
With Daten
.AutoFilter Field:=3, Criteria1:=a
.AutoFilter Field:=5, Criteria1:=b
.AutoFilter Field:=10, Criteria1:=c
.AutoFilter Field:=15, Criteria1:="500", Operator:=xlBottom10Items
End With
End With
Beim AutoFilter Field 15 möchte ich mir mir die Spalte vom kleinsten zum größten Anzeigen lassen.
Ich habe eine Arbeitsmappe mit 20.000Zeilen.
Wenn ich den Code oben anwende, werden mir die 7 höchsten angezeigt.
Wenn ich Criteria"500" auf 10000 erhöhen will, kommt immer eine Fehlermeldung, dass der Wert zwischen 1 und 500liegen muss.
Ich verstehe nicht ganz, warum ich für diesen Filter überhaupt ein Criteria brauche bzw. wie kann ich das Problem lösen, dass nur die Annordnung vom kleinsten zum größten angezeigt wird´?
Vielen DAnk für eure Hilfe
Tyroler

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AutoFilter Criteria
25.04.2017 11:06:14
Michael
Hallo!
Ich verstehe nicht ganz, warum ich für diesen Filter überhaupt ein Criteria brauche
Brauchst Du in dem Fall auch nicht. Du wendest zuerst auf Deinen Datenbereichs-AutoFilter die jeweiligen Filter mit Kriterien an, und dann sortierst Du den Blatt-Autofilter nach der gewünschten Spalte, schematisch:
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.ActiveSheet
Dim Daten As Range
With Ws
Set Daten = .Range("A1:C29")
If .AutoFilterMode Then .AutoFilterMode = False
Daten.AutoFilter field:=1, Criteria1:="b"
With .AutoFilter
.Sort.SortFields.Clear
.Sort.SortFields.Add _
Key:=Daten.Columns(3), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Sort.Apply
End With
End With
End Sub
LG
Michael
Anzeige
AW: AutoFilter Criteria
25.04.2017 11:17:11
tyroler
Hallo Michael,
vielen Dank für die rasche Antwort.
So ganz verstehe ich es noch nicht ganz.
Ich habe aber mehrere Filter die in der Tabelle angewendet werden.
Hier nochmals mehr von meinem Code:
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsR As Worksheet: Set WsR = Wb.Worksheets("Tabelle1")
Dim WsS As Worksheet: Set WsS = Wb.Worksheets("Tabelle2")
Dim WsT As Worksheet: Set WsT = Wb.Worksheets("Tabelle3")
Dim WsX As Worksheet: Set WsX = Wb.Worksheets("Tabelle4")
Dim Daten As Range
Dim a As Integer
Dim b As Integer
Dim c As String
a = Worksheets("Tabelle1").Range("C5").Value
b = Worksheets("Tabelle1").Range("C6").Value
c = Worksheets("Tabelle1").Range("C7").Value
With WsS
If .AutoFilterMode Then .AutoFilterMode = False
Set Daten = .Range(.Cells(2, 1), .Cells(.Rows.Count, 15).End(xlUp))
With Daten
.AutoFilter Field:=3, Criteria1:=a
.AutoFilter Field:=5, Criteria1:=b
.AutoFilter Field:=10, Criteria1:=c
.AutoFilter Field:=15, Criteria1:="500", Operator:=xlBottom10Items
End With
End With
In Spalte 15 soll nun die Reihenfolge vom kleinsten zum größten erfolgen.
Dankeschön
Grüße
Johannes
Anzeige
AW: AutoFilter Criteria
25.04.2017 11:26:07
Michael
Hallo!

With WsS
If .AutoFilterMode Then .AutoFilterMode = False
Set Daten = .Range(.Cells(1, 1), .Cells(.Rows.Count, 15).End(xlUp))
With Daten
.AutoFilter Field:=3, Criteria1:=a
.AutoFilter Field:=5, Criteria1:=b
.AutoFilter Field:=10, Criteria1:=c
End With
With .AutoFilter
.Sort.SortFields.Clear
.Sort.SortFields.Add _
Key:=Daten.Columns(15), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Sort.Apply
End With
End With

AW: Achso, Daten-Bereich anpassen,...
25.04.2017 11:28:40
Michael
...den hab ich bei mir jetzt ab A1 gehabt.
LG
Michael
AW: Achso, Daten-Bereich anpassen,...
25.04.2017 12:03:25
tyroler
Dankeschön, das klappt schon mal :)
jetzt noch eine kleine Frage.
In der Ausgegeben Tabelle werden jetzt der Reihenfolge nach der kleinste bis zum größten Wert angezeigt.
Mit welchem Befehl mach ich das genau umgekehrt - sprich vom größten bis zum Kleinsten?
Dankeschön
Grüße
Johannes
Anzeige
AW: Absteigend sortieren dann so...
25.04.2017 12:28:54
Michael
...statt
Order:=xlAscending, _
nimmst Du
Order:=xlDescending, _
;-), aber das hättest Du doch auch selbst herausfinden können, oder?
LG
Michael
AW: Absteigend sortieren dann so...
25.04.2017 13:16:40
tyroler
Vielen Dank!
jetzt wo du es sagt - definitv ja
Hab mir nur ein Buch bzgl. VBA programmierung gekauft und da stehen diese zwei Befehle garnicht drinnen.
Dankeschön :)
AW: Gerne, und noch ein Tipp...
25.04.2017 13:29:17
Michael
...bzgl. ein Buch ... und da stehen diese zwei Befehle garnicht drinnen:
Du kannst viel über Befehle herausfinden, indem Du den grds. Vorgang einmal manuell ausführst und dabei ein Makro aufzeichnen lässt. Das gibt Dir, wie zB in diesem AutoFilter-Fall, dann die grds. Bezeichnungen etc. auf die Du dann aufbauen kannst bzw. in der VBA-Hilfe, etc. weitere Infos einholen kannst.
LG
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige