VBA: nach ausgewählten Kriterien filtern
Hallo an alle.
Auch auf die Gefahr hin, dass ich euch so langsam auf die Nerven gehe, aber ich bräuchte wieder einmal Hilfe.
In einem Tabellenblatt "Übersicht" wähle ich Kriterien aus, indem ich sie in Spalte B mit einem "X" (ausgewählt) oder einem "-" (nicht ausgewählt) markiere.
Nach den Kriterien, die mit einem "X" gekennzeichnet sind (bis zu 15 möglich) möchte ich dann im Tabellenblatt "Auswertung" die Spalte F filtern.
In dem angehängten Beispiel also nach Dicke, Länge, Oberfläche und Kante. Breite und Radius sollen also "weggefiltert" werden.
Blatt Übersicht:
Blatt Auswertung:
Bei Änderung der Auswahl auf "Übersicht" und Ausführung des Makros soll die Filterung dann auch wieder angepasst werden.
Gibt es für so etwas eine Lösung?
Noch einmal vielen Dank!
Gruß,
Bernd
Auch auf die Gefahr hin, dass ich euch so langsam auf die Nerven gehe, aber ich bräuchte wieder einmal Hilfe.
In einem Tabellenblatt "Übersicht" wähle ich Kriterien aus, indem ich sie in Spalte B mit einem "X" (ausgewählt) oder einem "-" (nicht ausgewählt) markiere.
Nach den Kriterien, die mit einem "X" gekennzeichnet sind (bis zu 15 möglich) möchte ich dann im Tabellenblatt "Auswertung" die Spalte F filtern.
In dem angehängten Beispiel also nach Dicke, Länge, Oberfläche und Kante. Breite und Radius sollen also "weggefiltert" werden.
Blatt Übersicht:
A | B | |
---|---|---|
1 | Dicke | X |
2 | Länge | X |
3 | Breite | - |
4 | Oberfläche | X |
5 | Radius | - |
6 | Kante | X |
7 | ... | - |
Blatt Auswertung:
... | E | F | |
---|---|---|---|
1 | ... | 2 | Dicke |
2 | ... | 3 | Dicke |
3 | ... | 1 | Länge |
4 | ... | 2 | Breite |
5 | ... | 3 | Breite |
6 | ... | 1 | Oberfläche |
7 | ... | 2 | Oberfläche |
8 | ... | 4 | Radiu |
9 | ... | 5 | Kante |
10 | ... | 6 | Kante |
Bei Änderung der Auswahl auf "Übersicht" und Ausführung des Makros soll die Filterung dann auch wieder angepasst werden.
Gibt es für so etwas eine Lösung?
Noch einmal vielen Dank!
Gruß,
Bernd
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 246351
Url: https://administrator.de/contentid/246351
Ausgedruckt am: 17.11.2024 um 01:11 Uhr
7 Kommentare
Neuester Kommentar
Moin Bernd,
mal wieder da
Beispiel für den Fall das nur Werte aus der Liste in der Übersicht im Sheet Auswertung stehen: FilterRange_246351.xlsm
Grüße Uwe
mal wieder da
Beispiel für den Fall das nur Werte aus der Liste in der Übersicht im Sheet Auswertung stehen: FilterRange_246351.xlsm
Grüße Uwe
Zitat von @BerndVorwerk:
Funtioniert das auch, wenn in der Auswahlliste in der Übersicht mehr Werte vorhanden sind als in der Auswertungsliste? Dann sollen natürlich nur die berücksichtigt werden, die auch vorhanden sind.
ja soweit ich dich richtig interpretiere.Funtioniert das auch, wenn in der Auswahlliste in der Übersicht mehr Werte vorhanden sind als in der Auswertungsliste? Dann sollen natürlich nur die berücksichtigt werden, die auch vorhanden sind.
Zitat von @BerndVorwerk:
Kann ich das auch ohne worksheet_change machen. Also einfach mit Sub_name().
Sicher, kein ProblemKann ich das auch ohne worksheet_change machen. Also einfach mit Sub_name().
Sub Test()
Dim wsAuswertung As Worksheet, wsUebersicht As Worksheet, cell As Range, arrFilter() As String
Set wsUebersicht = Worksheets("Übersicht")
Set wsAuswertung = Worksheets("Auswertung")
cnt = 0
For Each cell In wsUebersicht.Range("B1:B15")
If cell.Value <> "X" Then
ReDim Preserve arrFilter(cnt)
arrFilter(cnt) = cell.Offset(0, -1).Value
cnt = cnt + 1
End If
Next
wsAuswertung.Range("E:F").AutoFilter Field:=2, Criteria1:=arrFilter, Operator:=xlFilterValues
End Sub
Zitat von @BerndVorwerk:
Ich hoffe das war einigermaßen verständlich... Gäbe es hier sonst die Möglichkeit Beispieldateien zu posten?
schick mir dein Sheet am besten via Mail, ich schicke dir meine Mailadresse via Personal Message ...Ich hoffe das war einigermaßen verständlich... Gäbe es hier sonst die Möglichkeit Beispieldateien zu posten?
Es soll jetzt aber nur "weggefiltert"
was jetzt wegfiltern ?? was soll behalten werden ? wenn da ein "-" steht oder ein 'X' ? Vorher wolltest du das alle bei einem X weggefiltert werden ??wäre es langsam nicht mal angebracht sich etwas mehr in VBA einzuarbeiten ?!