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 SubIch 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.