Zeilensichtbarkeit nach Hintergrundfarbe umschalten

Hallo,
Ich wollte fragen was ich da genau falsch mache.
Wie im Titel bereits steht möchte ich die Sichtbarkeit von Zeilen aufgrund der Hintergrundfarbe und mithilfe von mehreren Markierfeldern umschalten.
Dafür habe ich die Markierfelder und die Erste Spalte der Zeilen die getoggled werden sollen je einen Benannten Bereich zugewiesen und ein Python Macro geschrieben das eigenlich funktionieren sollte, was es aber leider nicht tut. Hätte hier vielleicht jemand eine Idee wie man das zum laufen bringt ?

Veranschaulichung.ods (11.3 KB)

Lg

Wenn ich sowas programmiere fange ich mit Objekt-Inspektion per mri an und ich beginne mit einem Script das NICHT im Dokument eingebettet ist:

ctx = XSCRIPTCONTEXT.getComponentContext()
createUnoService = ctx.ServiceManager.createInstance
mri = createUnoService("mytools.Mri")

def test_with_mri(event):
    mri.inspect( event )

…Damit teste ich dann, und baue das Script mit den Informationen die mri liefert Zeile für Zeile aus.
In deinem Fall kommt dann sehr schnell folgendes raus:

def toggle_rows_by_Color(event):
    STATE = event.Selected
    model = event.Source.Model
    COLOR = model.BackgroundColor
    doc = model.Parent.Parent.Parent
    ref_range = doc.NamedRanges["Zeilen"]
    colored = ref_range.getReferredCells()
    uniques = colored.UniqueCellFormatRanges
    for unique in uniques:
        if unique.CellBackColor == COLOR:
            for single in unique:
                single.Rows.IsVisible = STATE

Wenn das dann fehlerfrei funktioniert wird das Script ggf. im Dokument gespeichert, und die Zuordnung der Optionsbuttons geändert.
91529.ods (9.9 KB)

Besten dank