Obávám se, že neexistuje funkce, která vrací barvu pozadí/písma jiné buňky, ani funkce, která je umí samostatně nastavit (koukněte do helpu na fci STYLE). Budete muset použít jiný způsob přenosu "barevné informace", např. stejně, jako se mění barva v buňce A1 listu 1 to dělat i v tom listu 2.
Jinou možností je využití stylů - v buňce A1 listu 1 budete měnit vzhled pomocí stylů. Fce na zjištění stylu jiné buňky sice neexistuje, ale lze ji snadno naprogramovat, řešilo se to zde: http://forum.openoffice.cz/viewtopic.php?id=1015
V buňce v listu 2 pak použijete např. vzorec ="TEXT"&T(STYLE(CELLSTYLE(1;1;1)))&T(NOW())
Funkce na zjištění barvy pozadí by mohla vypadat takto (je potřeba ji vložit mezi makra daného sešitu):
Function cellbgcolor(list as Integer, radek as Long, sloupec as Integer) as String
oDokument = ThisComponent
oList = oDokument.sheets(list-1)
oBunka = oList.getcellbyposition(sloupec-1, radek-1)
cellbgcolor = oBunka.CellBackColor
End Function
Do buňky A2 na List1 vložte vzorec =CELLBGCOLOR(1;1;1)&T(NOW()) a v buňce A1 na List1 měňte barvu pozadí. Teď by to chtělo už jen funkci, která nastaví barvu pozadí jiné buňky. To se mi ale zatím nedaří - z makra není problém, ale funkce změní barvu buňky jen za určitých podmínek, které nevyhovují zamýšlenému účelu.
Editoval hanus (1. 8. 2010 17:52:19)