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

AutoFilter
11.03.2020 09:46:31
Torsten
Hallo zusammen,
folgende Aufgabe:
In einem Tabellenblatt sollen Autofilter mit bis zu 100 Kriterien gesetzt werden.
Mit VBA habe ich begonnen, jedoch scheitere ich im Aufbau des Arrays - es werden keine Kriterien übernommen.
Wie kann man das am einfachsten umsetzen?
Vielen Dank für Eure Mühe - dieses Forum ist klasse!
Grüße, Torsten
Blatt "Quelle" enthält die zu filternde Tabelle.
Blatt "Hilfe" enthält die Tabelle mit den Kriterien.

Sub Selektion_1()
Dim wert(100), kriterium As Integer
Dim ergebnis As String
Sheets("Hilfe").Select
'Field Spalte
kriterium = Cells(4, 2)
'Criteria1 Filter
wert(1) = Cells(5, 2)
wert(2) = Cells(6, 2)
'wird noch automatisch erweitert bis zum letzten Kriterium
'Criteria1:=Array
ergebnis = Chr(34) & wert(1) & Chr(34) & ", " & Chr(34) & wert(2) & Chr(34)
Sheets("Quelle").Select
ActiveSheet.Range("$A$1:$S$50000").AutoFilter Field:=kriterium, Criteria1:=Array( _
ergebnis), Operator:= _
xlFilterValues
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ergebnis?
11.03.2020 09:59:06
Fennek
Hallo,
ohne Nachbau vermute ich, dass "Ergebnis" nicht richtig angelegt wurde. Besser und einfacher ist ein 1-dim Array anzulegen.
Um es selbst testen zu können, ist eine kleine Beipieldatei mit min. 3 Kriterien nötig.
mfg
AW: AutoFilter
11.03.2020 10:06:25
Nepumuk
Hallo Torsten,
teste mal:
Public Sub Selektion_1()
Dim wert(1 To 100) As String
Dim kriterium As Long, lngRow As Long
With Worksheets("Hilfe")
'Field Spalte
kriterium = .Cells(4, 2).Value
'Criteria1 Filter
For lngRow = 5 To .Cells(.Rows.Count, 2).End(xlUp).Row
wert(lngRow - 4) = .Cells(lngRow, 2).Text
Next
End With
With Worksheets("Quelle")
.Select
.Rows(1).AutoFilter Field:=kriterium, Criteria1:=wert, _
Operator:=xlFilterValues
End With
End Sub

Gruß
Nepumuk
Anzeige
AW: AutoFilter
11.03.2020 14:14:57
Torsten
Hallo Nepumuk,
VIELEN DANK! Läuft richtig gut!
Das hätte ich nie hinbekommen!
Grüße, Torsten
AW: AutoFilter
12.03.2020 16:54:38
Torsten
Hall Nepumuk,
kannst Du mir bitte erneut unter die Arme greifen.
Kann man dein Skript dahingehend erweitern, dass auch mit "*" (Wildcard) gesucht wird.
Zum Beispiel: Auch den Filter auf 20319090 setzen wenn 20319* angegeben wird?
VIELEN DANK!
Grüße, Torsten
AW: AutoFilter
12.03.2020 17:00:13
Nepumuk
Hallo Torsten,
das geht nicht. Mit Wildcards kannst du nur einzeln suchen. Criteria1:= "*xyz*"
Gruß
Nepumuk
AW: AutoFilter
12.03.2020 17:23:22
Torsten
Hallo Nepumuk,
vielen Dank für die schnelle Antwort!
Grüße, Torsten
Anzeige
AW: AutoFilter
12.03.2020 17:42:30
Nepumuk
Hallo Torsten,
eine Möglichkeit wäre, die Begriffe nach den "ungefähren" Suchbegriffen zu durchsuchen und diese gefundenen Begriffe als originäre Suchbegriffe zu verwenden. Dazu benötige ich aber von dir eine Mustermappe. Mit einem Beispielsuchbegriff und den möglichen Ergebnissen.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige