In den Feldern stehen die Farbwerte, z. B.
Code: Alles auswählen
=HEXINDEZ("ff420e")
Nur wird die Farbe nicht in die Legende übernommen.
Geht das über eine Einstellung oder nur über ein Makro?
Ich habe bisher nur ein rudimentäres Makro, dass nur die Farben ausließt, aber nicht setzt:
Code: Alles auswählen
Sub UpdateLegendColorsChart()
Dim oSheet As Object
Dim oDrawPage As Object
Dim oDiagram As Object
Dim oDiagramData As Object
Dim oLegend As Object
Dim oDataSeries As Object
Dim oLegendEntry As Object
Dim i As Integer, j As Integer
Dim nColor As Long
Dim oData As Object
Dim rowCount As Integer
Dim oProvider As Object
oSheet = ThisComponent.CurrentController.ActiveSheet
oDrawPage = oSheet.DrawPage
For i = 0 To oDrawPage.getCount() - 1
oDiagram = oDrawPage.getByIndex(i).EmbeddedObject.Component
oDiagramData = oDiagram.getDiagram()
oLegend = oDiagram.getLegend()
If Not IsNull(oLegend) Then
oData = oDiagram.getData()
rowCount = UBound(oData.data, 1) + 1
For j = 0 To rowCount - 1
oDataSeries = oData.data(j)
nColor = oDataSeries(1)
' XXX - ab hier verließen sie mich
'
' oProvider = oDiagram.getDataProvider()
' oLegendEntry = oProvider.getSeries(0)
' oLegendEntry.TextColor = RGB(255, 0, 0)
' oLegendEntry = oLegend.data(j)
' oLegendEntry.setPropertyValue("FillColor", nColor)
' oSeries.setFillColor(RGB(255, 0, 0))
Next j
oLegend.refresh()
End If
oDiagramData.refresh()
Next i
End Sub
Ich hoffe es hat jemand genug Ahnung von Makros und kann mir helfen diese Kopfnuss zu lösen

Anbei ein Beispiel, die große grüne Fläche 52,66%, ist eine eigene Farbe, Standard wäre dunkel rot.
Das dunkel rot in der Legende soll auch grün sein.