Seite 1 von 1

Re: Wenn Auswahlliste dann bestimmte Farbe oder so?

Verfasst: So, 31.03.2013 10:45
von F3K Total
Hallo MondC,
fangen wir mal hinten an
LunaC(gast) hat geschrieben:... würde immer das Symbol "pfeil nach unten" anzeigen.
Keine Ahnung ob dies möglich ist. Ich kann es nicht.
LunaC(gast) hat geschrieben:wenn ich ein Feld in eine Auswahlliste umwandele diese eine bestimmte Hintergrundfarbe hat.
Auch dies wird schwierig, eine Grundeinstellung, die die Farbe umstellt wenn die Datengültigkeit geändert wurde, kenne ich nicht.

Aber, anbei findest Du eine Datei mit diesem Makro:

Code: Alles auswählen

Sub S_mark_Validation
    osheet = thiscomponent.sheets.getbyname("Tabelle1")
    ocellformatranges = osheet.cellformatranges
    ocellformatrangesenumeration = ocellformatranges.createenumeration
    while ocellformatrangesenumeration.hasmoreelements
        ocellformatrange = ocellformatrangesenumeration.nextelement
        if right(ocellformatrange.absolutename,7) <> "1048576" then
             if ocellformatrange.Validation.Type = 6 then ocellformatrange.CellStyle = "Liste"
        endif
    wend
End Sub
Das Makro findet alle Zellen auf Blatt1, die eine solche, wie du es nennst, "Auswahlliste", haben und ordnet ihnen die Zellvorlage "Liste" zu.
Wenn Du also vergessen hast einer Zelle mit "Auswahlliste" die richtige Hintergrundfarbe zu geben, kannst du das Makro laufen lassen.
Dazu muss eine Zellvorlage "Liste" existieren. Ich habe ihr die Hintergrundfarbe gelb gegeben, die kann aber jederzeit unter Format/Formatvorlagen (F11)/Liste Rechte Maustaste->ändern, wieder geändert werden.
Suche mal spasseshalber die Felder "von Hand", lasse dann das Makro laufen.

Viel Erfolg damit
Gruß R

Re: Wenn Auswahlliste dann bestimmte Farbe oder so?

Verfasst: So, 31.03.2013 22:06
von F3K Total
Hi,
nimm dieses Makro:

Code: Alles auswählen

Sub S_mark_Validation
    osheets = thiscomponent.sheets
    for i = 0 to osheets.count - 1
        osheet = thiscomponent.sheets(i)
        ocellformatranges = osheet.cellformatranges
        ocellformatrangesenumeration = ocellformatranges.createenumeration
        while ocellformatrangesenumeration.hasmoreelements
            ocellformatrange = ocellformatrangesenumeration.nextelement
            if right(ocellformatrange.absolutename,7) <> "1048576" then
                 if ocellformatrange.Validation.Type = 6 then ocellformatrange.CellStyle = "Liste"
            endif
        wend
    next i
End Sub
Dann werden alle Tabellenblätter bearbeitet.
Gruß R