ich habe hier eine Tabelle, in der ich Werte grafisch darstelle, wobei diese gefiltert werden sollen (Autofilter). Weil ich die Filterkombinationen sehr oft ändern muss, habe ich mir zu jedem Filter Schaltflächen erzeugt, mit dessen Hilfe ich die Filtereinstellung anpassen möchte. Meine Daten befinden sich in "$B$10:$CE$1354".
In der Zelle G9 sind nun z. B. vier Filtereinstellungen möglich (neben "Alles auswählen" natürlich):
2,5
3
3,5
4
Ich habe es geschafft Schaltflächen zu erzeugen und aufgezeichnete Macros diesen Schaltflächen zuzuordnen. Aufgrund dessen, wie die Macros aussehen, probiere ich die Syntax zu verstehen und entsprechend dazuzulernen.
Folgendes funktioniert bzw. habe ich z. B. für G9 geschafft.
Ich habe Schaltflächen für "alle", "2.5", "3", "3.5" und "4" erstellt, die die Filtereinstellung für G9 ändern können.
Wenn ich die Schaltfläche "alle" drücke, werden alle Filtereinstellung gelöscht. Das mache ich so:
Sub i_EM_alle()
ActiveSheet.Range("$B$9:$CE$1354").AutoFilter Field:=6
End Sub
Wenn ich die Schaltfläche "2.5" drücke, dann wird nur der Filter "2.5" eingestellt. Das mache ich so:
Sub i_EMG__2_5()
ActiveSheet.Range("$B$9:$CE$1354").AutoFilter Field:=6, Criteria1:="2,5"
End Sub
Das bedeutet, ich kann also entweder alle Werte darstellen oder die Werte mit nur einer Filtereinstellung, also z. B. nur die Werte "2.5".
Wenn ich nun aber z. B. die Werte "2.5" und "3" angezeigt bekommen will, muss ich wieder die Filtereinstellungen "händisch" einstellen.
Ich will also folgendes:
Wenn ich die Schaltfläche "2.5" anklicke, dann soll:
die Filtereinstellung "2.5" gelöscht werden, wenn die Filtereinstellung "2.5" gesetzt war
oder
die Filtereinstellung "2.5" gesetzt werden, wenn die Filtereinstellung "2.5" gelöscht war
Selbst nach 1,5 Tagen Suchen im Internet und Rumprobieren habe ich es nicht hinbekommen. Ich weiß, dass es xlOr und xlAnd gibt, um die Filtereinstellung zu löschen oder zu setzen. Allerdings habe ich schon mal das prinzipielle Problem, dass ich nicht mal weiß, wie man die aktuelle Filtereinstellung ausliest.
So nach der Art:
aktuelle_Filtereinstellungen = ActiveSheet.Range("$B$9:$CE$1354").AutoFilter Field:=6, Operator:=xlFilterValues
neue_Filtereinstellung = aktuelle_Filtereinstellung + "3.5"
ActiveSheet.Range("$B$9:$CE$1354").AutoFilter Field:=6, Criteria1:=neue_Filtereinstellung , Operator:=xlFilterValues
Kann mir da bitte jemand weiterhelfen?
Vielen Dank schon mal im Voraus!