AW: Drücke Dich bitte etwas genauer aus
28.06.2020 14:04:32
Daniel
Hi
es gibt auf einem Tabellenblatt immer nur einen einzigen Autofilter.
dieser kann zwar einen größeren Tabellenbereich mit mehreren Spalten umfassen, aber es muss immer ein lückenloser rechteckiger Zellbereich sein und es kann nur einen geben.
(bei zwei unabhängigen Autofiltern auf dem Blatt wäre dann ja nicht eindeutig, wie eine Zeile angezeigt werden soll, wenn die beiden Autofilter für diese Zeile zu einem unterschiedlichen Ergebnis kommen, da ja immer nur die Zeile als ganzes ein- oder ausgeblendet werden kann)
dh wenn du einen Filter in einer anderen Spalte additiv dazu bringen willst, musst du das mit dem gleichen Autofilter machen und der Zellbereich des Filters muss alle Spalten enthalten, nach denen gefiltert werden soll:
dh wenn in Spalte B und D gefiltert werden soll, muss das so aussehen:
With Range("B8:D2000")
.Autofilter Field:=1, Criteria1:="a", visibledropdown:=false
.Autofilter Field:=3, Criteria1:="b"
end with
die Anzeige der Dropdowns kannst du über das VisibleDropdown steueren.
dabei gilt folgendes:
- gibst du diese Option nur für eine einzige Filterspalte, so gilt diese Einstellung für alle Spalten des Filters
- gibst du das für 2 oder mehr spalten an, so gilt die Einstellung nur für die jeweilige Spalte und für die anderen Spalten gilt die Standardeinstellung (hier TRUE)
diese Einstellung bleibt auch erhalten, wenn der Anwender nächträglich die Filtereinstellungen ändert, er kann das dann aber nur für die Spalten tun, für die Der DropDown angezeigt wird.
(solange, bis der Filter entfernt wird)
dh wenn du das DropDown nur für die Spalten B und D anzeigen willst und nicht für C, dann müsste dein Code so aussehen:
With Range("B8:D2000")
.Autofilter Field:=1, Criteria1:="a", visibledropdown:=true
.Autofilter Field:=3, Criteria1:="b", visibledropdown:=true
.Autofilter Field:=2, visibledropdown:=False
end with
Gruß Daniel