Hallo Zusammen,
schreibe heute das erst Mal einen Eintrag. Bisher konnte ich hier sehr viel Wissen abholen, doch mit einer akuellen Aufgabenstellung komme ich auch damit nicht zurecht.
Ich habe eine lange Liste an Tickets aus einem Ticketsystem. Es gibt unterschiedliche Kunden, alle haben Tickets, die in einem Zustand stehen (offen, in Bearbeitung, usw.)
Die Liste soll nun je Kunde gefiltert werden. Die Auswahl der Zustände ändert sich je nach Bedarf. D.h. mal möchte man alle sehen, mal nur die offenen, mal nur die in Barbeitung stehen.
Ist die Liste mit diesen Eingangswerten Kunde und dann Zustände gefiltert, kopiere ich die gefilterten Tickets für die weitere Aufbereitung.
Die Übergabe an den Filter für einen Kunden habe ich über einen Array gemacht. Das funktioniert gut, aber ich würde gerne die Tabelle komplett in einen Array einlesen und dann die Daten für den Filter entsprechend dem Kundennamen auslesen und an den Spaltenfilter übergeben:
ActiveSheet.Range("$A$1:$S$1000").AutoFilter Field:=3, Criteria1:=kd
ActiveSheet.Range("$A$1:$S$1000").AutoFilter Field:=7, Criteria1:=">=" & CDbl(dv), Operator:= _
xlAnd
ActiveSheet.Range("$A$1:$S$1000").AutoFilter Field:=5, Criteria1:=zs, Operator:=xlFilterValues
zs ist dann das Array. Das ganze läuft wie gesagt für einen Kunden schon ganz gut. Aber ich will mehr
Die Übersicht der Zustände und der Kunden habe ich auf einem Tabellenblatt "Einstellungen".
Die Tabelle ist in x und Y-Achse aufteilt.
In x stehen die Kunden01- 11.
In y stehen die Ticketzustände
In die Schnittpunkt also Zellen schreibe ich eine 1, wenn der Zustand für diesen Kunden ausgewertet werden soll.
Die erste Zeile nach dem Kunden ist ein Wert in Tagen, damit ich in einen anderen Filter ein Datum übergeben kann. Es seht im Screenshot nur 500 Tage und eine 1 bei dem Kunden mit dem ich getestet hatte. Später sollen für alle Kunden Einstellungen vorgenommen werden. Der Zustand "alle" soll dann später auch die Info geben "alle Zustände" bzw. eben kein Filter in der Spalte "Zustand". Evtl. wird die Liste dann auch noch erweitert um weitere Filterkriterien.
Ich würde nun gerne den Kunden über ein anderes Feld vorgeben. Dies wird an die Variable kd übergeben. Damit geht es dann in das Array und mit den Werten unter dem Kunden (also aus der entsprechenden Spalte) werden die 1 Werte ausgwertet, damit dann die Zustände, welche gefiltert werden sollen, an den Filter übergeben werden können.
Klingt für mich kompliziert und ist es auch
Wahrscheinlich für euch nicht.
Vielen Dank für eure Unterstützung.
Walter
|