Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: Zuordnung von Legendeneinträgen zu Reihen
#1
Hallo Ihr Wissenden,

habe gerade mal wieder Grenzen meines Wissens erreicht:

In einem (x-y-)Diagramm möchte ich Legendeneinträge formatieren per VBA. Da aber einige der Diagrammlinien zur sekundären Ordinate zugeordnet sind, zählt die Legende die Einträge anders, als ich die Reihen definiert habe und sie auch im Diagramm aufgelistet werden (wenn ich im Diagramm dort unter Diagrammentwurf "Daten auswählen" klicke). Wie kann ich in VBA ermitteln, zu welcher Diagrammlinie ein bestimmter Legendeneintrag gehört?

Danke für Eure Hilfen,
RaiSta
 Man(n) ist nie zu alt für die Erkenntnis, dass das bisher Gelernte doch nur bedingt gültig oder auch nur brauchbar ist. 27
Antworten Top
#2
Hallöchen,

prüfe den Legendeneintrag in allen Linien.

Den Eintrag findest Du z.B.in ActiveChart.FullSeriesCollection(1).Name
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
(14.08.2023, 19:02)schauan schrieb: prüfe den Legendeneintrag in allen Linien.

Den Eintrag findest Du z.B.in ActiveChart.FullSeriesCollection(1).Name

wie kann ich den Legendeneintrag(!) prüfen? Die 'FullSeriesCollection(×)' gibt ja die angegebene Reihe in der Grafik zurück. Aber wie komme ich an den Text, der mit dem ersten (×-ten...) Legendeneintrag verbunden ist?
Da habe ich nix gefunden in den Eigenschaften (oder Methoden) der Legendeneinträge, was mir den zugehörigen Text liefert.

...vielleicht habe ich aber auch nur Tomaten auf den Augen ... ?

Gruß und Dank,
RaiSta
 Man(n) ist nie zu alt für die Erkenntnis, dass das bisher Gelernte doch nur bedingt gültig oder auch nur brauchbar ist. 27
Antworten Top
#4
Hallöchen,

nur mal ein paar Gedanken:

1)
Du kannst doch in einer Schleife alle durchgehen und statt der 1 nimmst Du den Schleifenzähler...

2)
Du kannst auch ohne die Schleifenzahl mit For Each die SeriesCollection durchgehen, im Prinzip
For Each i_tems In ActiveChart.FullSeriesCollection

3)
Du könntest also in der Schleife auch gleich prüfen, ob eine Linie auf der primären oder sekundären Achse liegt ...
Du kannst z.B. mit der Codeaufzeichnung einiges rausfinden. Wenn Du z.B. eine Linie auf die Sekundärachse legst, bekommst Du was in der Art:
ActiveChart.FullSeriesCollection(3).AxisGroup = 2
und entsprechend die Auswertung in der Schleife nur auf der Sekundärachse fortsetzen, also z.B.
If i_tems.AxisGroup = 2 Then MsgBox i_tems.Name
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste