Hallo Markus,
so richtig kann ich mir immer noch nicht vorstellen, was du genau vorhast. Wenn du von gestapelten Balken sprichst, meinst du also waagerechte Darstellungen? Dann werden die Datenreihen nicht nach oben oder unten sondern nach links und rechts verschoben. Du kannst innerhalb des Stapels immer nur ganze Datenreihen verschieben, keine einzelnen Datenpunkte. So stehen an erster oder letzter Stelle immer die Daten derselben Kategorie, auch wenn vielleicht einzelne Datenpunkte dieser Kategorie eine andere Farbe haben.
Dein Code sieht für den Anfang nicht schlecht aus. Das = True am Ende der If-Bedingung kannst du weglassen. Der If Befehl selbst gibt am Ende immer True oder False zurück. If Bedingung = Wert reicht also völlig aus. Natürlich sollte das in der gleichen Zeile stehen.
Mit .PlotOrder = 1 erreichst du jedoch das Gegenteil. Damit verschiebst du die Datenreihe nicht nach oben oder rechts sondern nach unten bzw. links. Also in die Nähe der X-Achse. Für die andere Richtung brauchst du .PlotOrder = .SeriesCollection.Count. Natürlich im Zusammenhang mit dem entsprechenden Objekt. .Count gibt einfach die Anzahl gleichartiger Objekte zurück.
Für das Unsichtbarmachen von Datenreihen (bzw. Kategorien) reicht es völlig aus, wenn du die entsprechenden Zeilen im Tabellenblatt ausblendest. Das kannst du z.B. über den Autofilter erreichen. Filtere einfach nach Firma A und es werden dir im Diagramm nur die Datenpunkte der Firma A angezeigt. Da brauchst du gar kein VBA für.
Falls ich dir mit dieser Antwort immer noch nicht helfen konnte, wirst du wohl nicht um die Bereitstellung einer Bespielarbeitsmappe umhin kommen. Natürlich nur mit Fake-Daten. Firma A, B, C, etc. reicht völlig. Auch die Termine können ausgedacht sein. Es müssen ja nicht gleich 25.000 sein. Ein paar Dutzend reichen durchaus aus. Die Datei kannst du z.B. hier hochladen: https://workupload.com/
Ansonsten kann ich dir nur viel Glück bei deinem Vorhaben wünschen.
Liebe Grüße
Mr. K.
|