Witam
Pytanie jak w temacie, jak zaszyć w Calc we własnej funkcji formatowanie warunkowe?
W najprostszym przykładzie, chcę sumować komórki a1 i b1 i jeśli wynik sumowanie jest >10 to format "zielony", a jeśli <=10 to format "czerwony".
Format "zielony" i "czerwony" mam zdefiniowany w spisie formatów.
Chcę użyć formatowania warunkowego ale za pomocą własnej funkcji, więc może to być w różnych miejscach arkusza. Potrafię to zrobić makrem, poprzez sprawdzenie wartości w zadanej komórce i potem ustawienie formatu w innej, ale używam bezwzględnych adresów, nie wiem jak to podpiąć do funkcji z wywołaniem z poziomu calca np =Policz(A1;B1) gdzie Policz to zdefiniowana funkcja.
Czy może odwoływać się z poziomu funkcji do gotowego makra ustawiającego format komórki? Może jednak można bezpośrednio z funkcji?
Pozdrawiam
Krzysiek
Jak zaszyć formatowanie warunkowe we własnej funkcji?
Re: Jak zaszyć formatowanie warunkowe we własnej funkcji?
Możesz ustawić styl komórki bezpośrednio z formuły.
Poczytaj o funkcjach STYL i JEŻELI. Prawdopodobnie będziesz potrzebował także BIEŻĄCY.
Przenośność takiego rozwiązania to zupełnie inna kwestia. Ale skoro już zdecydowałeś się na makra, to pewnie przenośność nie jest dla Ciebie priorytetem.
Poczytaj o funkcjach STYL i JEŻELI. Prawdopodobnie będziesz potrzebował także BIEŻĄCY.
Przenośność takiego rozwiązania to zupełnie inna kwestia. Ale skoro już zdecydowałeś się na makra, to pewnie przenośność nie jest dla Ciebie priorytetem.
Mój blog o używaniu LibreOffice
LibreOffice 4.2.6, Debian testing amd64
LibreOffice 4.2.6, Debian testing amd64
Re: Jak zaszyć formatowanie warunkowe we własnej funkcji?
Jan_J w poście http://forum.openoffice.org/pl/forum/vi ... =32&t=1868 napisał:krzys59 pisze:Czy może odwoływać się z poziomu funkcji do gotowego makra ustawiającego format komórki?
Wniosek sam się narzuca.W OpenOffice argumenty adresowe Cell albo Range przekazywane do funkcji wywoływanych poprzez formuły nie zawierają obiektów typu Cell lub odp. Range, tylko pobrane z nich tablice wartości. Wobec tego w formule możesz sprawdzić wartość innej komórki, ale nie masz dostępu do jej obiektu, a w szczególności do jej koloru tła.
Zastosuj poradę Minia (źródło help)
Kod: Zaznacz cały
=Policz(A1;B1) + STYL(JEŻELI(BIEŻĄCY()>10;"Czerwony";"Zielony"))
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Jak zaszyć formatowanie warunkowe we własnej funkcji?
Dzięki za podpowiedź, choć to nie całkiem to o co mi chodzi.
Chcę problem formatowania warunkowego rozwiązać poprzez funkcję, bo zauważyłem dziwną rzecz, arkusze z wielokrotnym formatowaniem warunkowym, w kolejnych wersjach LO potrafią się kompletnie rozwalić (do tego jeszcze różne systemy operacyjne). A już jak ktoś ma wersję <4 to niestety bardziej skomplikowane formatowania całkiem wypadają. Dlatego szukam rozwiązania poprzez własne funkcje. Ale wygląda, że się nie da. Szkoda
Chcę problem formatowania warunkowego rozwiązać poprzez funkcję, bo zauważyłem dziwną rzecz, arkusze z wielokrotnym formatowaniem warunkowym, w kolejnych wersjach LO potrafią się kompletnie rozwalić (do tego jeszcze różne systemy operacyjne). A już jak ktoś ma wersję <4 to niestety bardziej skomplikowane formatowania całkiem wypadają. Dlatego szukam rozwiązania poprzez własne funkcje. Ale wygląda, że się nie da. Szkoda