Legendeneintrag nach Text-Kriterium einfärben
08.07.2025 18:27:04
Tim B.
Das Problem ist, dass die Indizes von SeriesCollection und LegendEntries nicht übereinstimmen. Wenn ich beispielsweise mit folgendem Code arbeite:
For i = 1 To MyChart.Legend.LegendEntries.Count
If InStr(1, MyChart.SeriesCollection(i).Name, "stroke", vbTextCompare) > 0 Then
With MyChart.Legend.LegendEntries(i).Format.TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
Else
With MyChart.Legend.LegendEntries(i).Format.TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(89, 89, 89)
.Transparency = 0
.Solid
End With
End If
Next i
...dann wird nicht der richtige Legendeneintrag eingefärbt, da SeriesCollection(i) und LegendEntries(i) nicht derselben Datenreihe entsprechen.
Frage:
Wie kann ich zuverlässig den korrekten LegendEntry einer bestimmten Series zuordnen, um diesen dann einzufärben?
Gibt es eine Eigenschaft oder Methode, um von einer Series direkt zum entsprechenden LegendEntry zu gelangen, oder umgekehrt?
Anzeige