Probleme beim Spezialfiltern mit vba
09.06.2015 19:39:54
Hornung
erst einmal hab ich schon einige Hilfe aus älteren Beiträgen finden können, danke dafür!:) Leider sind meine VBA-Kenntnisse nach wie vor ziemlich beschränkt.
Ich habe mit vba ein Makro zum Spezialfiltern einer Tabelle "geschrieben":
Sub FilterAn()
Sheets("Tabelle1").Cells.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Tabelle2").Range("A1:D6"), CopyToRange:=Sheets("Tabelle3").Range( _
_
"A1") _
, Unique:=False
End Sub
Das Filtern klappt soweit. Jetzt habe ich aber folgendes Problem:
Die Anzahl der Kriterien, nach denen jeweils gesucht werden soll, soll variabel sein, d.h. von Suchvorgang zu Suchvorgang verschieden sein können. D. h. in dem konkreten Beispiel des Codes, dass es bis zu 6 verschiedene "ODER-Bedingungen" (Zeile 1 bis Zeile 6) geben soll. Manchmal werden davon jedoch nur 2 bzw. mehr oder weniger Kriterien benötigt.
Excel spuckt mir nun jedoch als Filterergebnis die ganze Tabelle aus, wenn ich bei den Kriterien eine Zeile frei lasse.
Gibt es dafür eine Lösung, das ganze variabel zu halten? Bzw. wie kann man das Problem denn umgehen?
____
Und noch eine weitere Frage:
Angenommen meine Tabelle ist wie folgt aufgebaut:
1 1 a
2 1 b
3 1 c
1 2 d
2 2 e
3 2 f
1 3 g
2 3 h
3 3 i
Filtern möchte ich nun nach
Spalte1 ="1" ODER Spalte1 = "2"
sowie
Spalte2 ="1".
D.h. das Ergebnis wäre Zeile 1 und 2 bzw. Werte "a" und "b".
Dies ist so einfach mit dem Filter leider nicht möglich. Hat hier jemand einen Tipp, dies geschickt zu implementieren. Mir fällt nichts ein außer sich über ein Makro alle möglichen Kombinationen ausgeben zu lassen und anschließend "gewöhnlich" mit dem Spezialfilter zu suchen.
Ich hoffe ich habe mich verständlich ausgedrückt und hoffe auf Antworten :)
Danke schon einmal!
VG Marcel
D