Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 7. 4. 2021 12:39:03

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Snažím se vytvořit barevnou podmínku s Hodnota buňky > obsahuje > "Jana"
což funguje jak má a ve vybrané oblasti třeba 100tis řádků označí barevně všechny buňky co obsahují "Jana".
_
Dotaz zní, co kdybych chtěl hledat stovky jmen najednou, "Jana", "Franta", "Tomáš", ...
Dělat podmínky jednu po druhé je velmi zdlouhavé, a že by fungovalo napsat všechny jména do jedné podmínky za sebou "Jana":"Franta":"Tomáš" to také nejde :-(
_
Zkusil jsem to tedy jinak, co si vypsat v Calcu všechny hledané slova do každé buňky jedno. Do kolonky Hodnota buňky > obsahuje > $'1-100000'.$A$1:$A$50 což jsem si myslel že veme každé slovo z buňky a to každé zvlášť použije. No není to tak, pokud zvolím jedno slovo z buňky $'1-100000'.$A$1 tajto, tak to funguje, jenže jsem si tím moc nepomohl, stále musím dělat vše po jednom.
_
ps: ten začátek $'1-100000' se tam vyplňuje sám podle toho že se to týká 100tis řádků.

Editoval barevnej (8. 4. 2021 12:26:38)

Offline

#2 7. 4. 2021 12:47:16

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

vzorec je: OR(A1="Jana";A1="Franta";A1="Tomáš")


Můžu poprosit o nastínění důvodu proč chcete "opticky" hodnotit databázi o 100tisíci položkách?

Editoval ludviktrnka (7. 4. 2021 12:59:18)


LibreOffice 6.2.

Offline

#3 7. 4. 2021 13:42:42

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,241

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Souhlasím s panem Trnkou. Podmíněný formát takovou potřebu sice pobere bez problému, ale už ne člověk. Nevidím potřebu každé různé jméno obarvit jinou barvou. Potom jsou různá jména nepřehledná. Je sice možné, že popisujete jen fiktivní potřebu.


     Podbarvení různými barvami bych doporučil zvážit, protože vše lze sice zajistit jedním vzorcem, ale nebude to pomocí OR. Na to se musí použít IF, popřípadě IFS pro LibreOffice (AOO IFS nezná). Psát takový vzorec chce mít předem připravené Styly pro všechna různá jména.

IFS(A1="Jana";styl1;A1="Franta";styl2;A1="Karel";styl3;"jméno";Styl;"Jméno";styl;"jméno";styl)

     Podbarvení nenahradí případné vyhledání, nebo lépe soustředění stejných jmen, které je praktičtější nežli vizuální podbarvení (nebo jiné zvýraznění).


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 7. 4. 2021 14:25:12

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,241

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

barevnej napsal(a)

A) .....
_
B) Zkusil jsem to tedy jinak, co si vypsat v Calcu všechny hledané slova do každé buňky jedno. Do kolonky Hodnota buňky > obsahuje > $'1-100000'.$A$1:$A$50 což jsem si myslel že vezme každé slovo z buňky a to každé zvlášť použije. No není to tak, pokud zvolím jedno slovo z buňky $'1-100000'.$A$1 takto, tak to funguje, jenže jsem si tím moc nepomohl, stále musím dělat vše po jednom.
_
C) ps: ten začátek $'1-100000' se tam vyplňuje sám podle toho že se to týká 100tis řádků.

     Nyní mám dojem, že ad B) vychází z nevhodného označení úseku do kterého hodláte podmíněný formát umístit, nebo také možná popisujete nepřímo, že buňky obsahují více výrazů - například Jméno + příjmení. Pokud by v buňce bylo více výrazů, je nutné použít textové funkce FIND(), nebo SEARCH() ve spojení s OR, Nebo IF(), či IFS().


     Označení úseku do kterého se podmíněný formát aplikuje je buď 1 buňka - to už víte, ale může to být celý sloupec buď v podobě $A, pro více sloupců stačí vybrat sloupce a do nich zkopírovat formát. Já používám určení celého úseku - například A1:A100000. Podobně když se označují řádky A$1:A$100000. například když chceme obarvit pro přehlednost každý druhý řádek: Podmínka MOD(ROW();2) = 1 a vyplníme úsek A$1:A$100000. Každý lichý řádek se podbarví vybraným stylem.....
     Často se podmíněný formát řídí podle jedné buňky - například v nadpisu úseku - potom se buňka zafixuje v podmínce absolutní adresou. Například A$1 = 1.5.2021 a v úseku kam se formát nakopíruje (sloupce) A1:CD100000. Podmíněný formát se nakopíruje do každého sloupce, který splňuje podmínku, která říká, že každá první buňka - pokud obsahuje uvedené datum se obarví.
     Pro řádky : Například $A1 = 1.5.2021 a v úseku kam se formát (nyní řádky) nakopíruje A1:BD100000. Pro pochopení si představte nejprve dny v měsíci umístěné na řádku kde obarvujeme soboty a neděle ve stejném sloupci, nebo naopak dny v měsíci ve sloupci a obarvujeme různé řádky.


PS: Ještě jsem se zamyslel nad ad B) popisujete hledání textového výrazu Hodnota buňky > obsahuje > $'1-100000'.$A$1:$A$50, ale zřejmě hledáte velikost čísla. Na to stačí podmínka "je větší" - číselná hodnota limity. Výraz  > $'1-100000' vyjadřuje operátor ">" (je větší) - tedy dotaz na číslo, ale hodnota je zadána jako string ('1-100000') a nepochopitelně ještě "dolar" jako by šlo o zafixování řádku formou absolutní adresy.
     Výrazy "obsahuje a neobsahuje" umí text, ale ostatní podmínky jsou pouze na číselné hodnoty. Takže nastavení obsahuje > $'1-100000'.$A$1:$A$50 je trojnásobně chybné. Pokud byste hledal například číslo větší než 100000 tak v bunce vybereme "je větší" a hodnotu zadáme číslem 100000. Pokud hledáte větší "string", tak pouze ve formátu "LEN", což je ale vzorec. Pokud hledáte doslova OBSAHUJE výraz '1-100000', tak najdete pouze přesně tento výraz, ale nikoliv číslo byť by to jakékoliv. Přichází proto v úvahu pouze rozsah řádků - zřejmě plynoucí z rozdělení na více výrazů do samostatných buněk. Zde by se asi měl nalézat výraz '1-100000' který by se jako rozsah testovat podmínkou "větší, nebo rovno" 100000.
    Z popisu mi připadá, že jde o data z formátu CSV, nebo TXT, kde nejsou určeny správně separátory a všechny údaje řáku jsou v jedné buňce. Zde by se mělo buď udělat nové načtení pomocí správných separátorů, nebo hledat pomocí textových funkcí, ale to musí autor upřesnit - jsou to jen domněnky.

Editoval neutr (7. 4. 2021 15:26:28)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 7. 4. 2021 22:01:28

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 279

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

To podmíněné formátování je možné udělat makrem, ale nevím jak (a jde-li vůbec) to dát do rozsahu buněk aby se podmínce automaticky změnila adresa A1 na A2, A3, A4 atd. V ukázce je makro jak to podmínkovat po jedné buňce, ale pro 100tis. buněk by to bylo na dlouho, takže jsem to omezil na 500 buněk.


Co mi však přijde schůdné je využít vzorec STYLE -> =STYLE(IF(OR(A2="jana";A2="pavel";"A2=kamil");"Dobré")), přičemž si to opět vygenerovat makrem. Jenže nepůjde to dát do té výchozí buňky ze které se budou brát data. Tudíž jsem to vložil do sloupce B, takže nebude obarvený sloupec se jmény, ale holt ten vedle něj. Využívá to systémovou schránku (tedy Ctrl+C/V) což možná nemusí být nejvhodnější, ale automaticky si to změní adresy pro další řádky (tedy potřebné A2 ze STYLE na A3, A4, A5 atd.). Otázka jak to bude rychlý pro desítky jmen v podmínce.


Ukázka: JESTLI JSTE SI TO STÁHLI TAK TO SMAŽTE, STARÝ NOUTBUK MI NĚJAK ZABLBNUL, NA NOVÉM TO SICE ANTIVIR BRAL JAKO DOBRÉ, ALE PRO JISTOTU.


Dalo by se makrem udělat aby ty styly nastavil v tom výchozím sloupci, ale opět je to procházení ve smyčce a to je v Basicu pro desítky tisíc položek prostě pomalý. Ale kdyby se to udělalo přes filtr -> vyfiltrovat dle potřebnýh jmen, obarvit vyfiltrované a zase zobrazit. Ale to jsem nezkoušel.

Editoval kamlan (7. 4. 2021 22:47:33)

Offline

#6 7. 4. 2021 22:48:45

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 279

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

UPOZORNĚNÍ NA PŘEDCHOZÍ UKÁZKU. JESTLI JSTE SI TO STÁHLI TAK TO SMAŽTE, STARÝ NOUTBUK MI NĚJAK ZABLBNUL, NA NOVÉM TO SICE ANTIVIR BRAL JAKO DOBRÉ, ALE PRO JISTOTU.

Offline

#7 8. 4. 2021 00:28:00

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 818

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

K té podmínce. Od té doby, co máme funkci MATCH, funkci OR a textové řetězce nepotřebuji. Tj. ve fomátu se testuje výsledek MATCH.

PS. Pokud hledáte jmen více, může testování podstatně zrychlit setřídění jmen a podmínka
např.
       jméno = lookup(jméno, seznam, seznam)

nebo jméno = vlookup(jméno, seznam,1, 1)
Kvůli řešení chyb typu  "nenalezeno" doporučuji na začátek seznamu umístit něco, co se najde vždy.

Mimochodem, match nebo vlookup v pomocném sloupci taky není k zahození, dá se pak např. filtrovat

Editoval lp. (8. 4. 2021 00:34:50)

Offline

#8 8. 4. 2021 07:21:19

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

to kamlan: relativní vzorec zadaný do formuláře podmíněného formátování a aplikovaný na pole buněk (např. A1:A1000) se chová stejně jako rozšířený vzorec, tedy v A1 platí OR(A1="Jana";A1="Franta";A1="Tomáš") a v A2 automaticky platí: OR(A2="Jana";A2="Franta";A2="Tomáš") atd. Bohužel to nelze "zkontrolovat" tak jak u normálního vzorce, pouze lze sledovat funkčnost / nefunkčnost.


LibreOffice 6.2.

Offline

#9 8. 4. 2021 07:28:26

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

to LP: zkusil jsem s Match. Je to určitě lepší. Funguje např: ISNUMBER(MATCH(A1;$G$1:$G$10;0)) kde ve sloupci G jsou hledaná jména. V případě N/A to prostě není číslo takže výsledek Isnumber je nula. Funguje krásně, určitě to je elegantnější :-)


LibreOffice 6.2.

Offline

#10 8. 4. 2021 07:48:46

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Téééda včera jsem byl už mimo a koukám jak se to tu rozjelo mad
Děkuji moc za rady a jdu je postupně testovat smile
@ludviktrnka: Ono je to v podstatě seznam větší než milon a po sto tisícíh to filtruji aby se počítač nesekal. Vlastně ho promazávám a obarvuji si různé řetězce které bych jinak přehlédl a omylem bych třeba smazal. Bohůžel jinak než li opticky to kontrolovat nejde.

Offline

#11 8. 4. 2021 08:55:43

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Asi nechápu co mi tu radíte a možná je to má chyba že jsem to špatně popsal. Zkusím to znova polopatě.
_
Mám třeba takovýto seznam, vrchní řádka "1" je seznam slov které porovnávám ve žluté tabulce.
1.png
_
Vytvořím si barevnou podmínku
2.png
_
Jakmile dám "Budiž" výsledek je toto
3.png
Je to proto že se v oblasti objevilo slovo "Eliška" tak se podbarvila celá buňka.
_
_
Tak a teď se ptám jak zvolit celý řádek "1" aby se takto porovnával, po jednom to můžu definovat ale je to na dlouho pokud jsou to třeba stovky "jmen"
_
Přikládám vzorový soubor kdyby někdo chtěl.
Podbarveni.ods

Offline

#12 8. 4. 2021 09:18:26

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

To je složitější, napadá mne akorát takto: OR(ISNUMBER(SEARCH($A$1;A4));ISNUMBER(SEARCH($B$1;A4))), ale tady by opravdu bylo lepší si napsat skript, který data jednorázově projede a obarví.


LibreOffice 6.2.

Offline

#13 8. 4. 2021 10:07:06

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 279

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Myslel jsem že to je pro jeden sloupec :-). Takhle pro celou tabulku bych to uměl asi taky, ale obávám se že v Basicu by to bylo pro 100tis.+ řádků docela pomalý. V Pythonu by to mělo jít asi o dost rychleji, neboť ten umí prohledávat řetězce o dost rychleji než Basic, ale natolik v něm neumím abych to vyrfkl a řádu dní :-(.

Editoval kamlan (8. 4. 2021 10:30:34)

Offline

#14 8. 4. 2021 10:20:07

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

@ludviktrnka: jen se zeptám OR(ISNUMBER(SEARCH($A$1;A4));ISNUMBER(SEARCH($B$1;A4))) mám psát kam? Do té podmínky namísto toho $List1.$A$1  ?

Offline

#15 8. 4. 2021 10:21:12

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

místo "hodnota buňky" zvolit "vzorec je"


edit: stejně to ale není řešení pro stovky jmen, maximálně nějaké nižší desítky

Editoval ludviktrnka (8. 4. 2021 10:26:17)


LibreOffice 6.2.

Offline

#16 8. 4. 2021 10:26:12

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

To funguje pouze pro "Eliška"

Offline

#17 8. 4. 2021 10:27:31

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Mě to na vašem příkladu funguje :-)

Editoval ludviktrnka (8. 4. 2021 10:29:30)


LibreOffice 6.2.

Offline

#18 8. 4. 2021 10:33:20

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Jeden obrázek více než tisíc slov smile
4.png

Offline

#19 8. 4. 2021 10:33:52

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 279

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Nevím z jakých důvodů ale uloz.to to opět po chvíli smázne a když to zkusím nahrát znovu, tak to zakáže že prý nebezpečný obsah. No nic, mordovat se s tím dále nebudu.
Zde je makro pro vygenerování vzorce =STYLE(OR(A2=jméno1;A2=jméno2; atd.). Chce to mít jména ve sloupci A, prázdno ve sloupci B a tři obarvovaná jména v C2:C4. Pak si makro nakopíruje do B2 vzorec =STYLE a pomocí CtrlC/V ho vloží do zbytku sloupce B (rozsah sloupce nastavit v makru - nyní je tam B3:B1000). Nebarví tak přímo hodnoty v A, ale pomocný sloupec B.

Sub generujStyle 'vygeneruje funcki =STYLE(...) do jedné buňky a z té pak pomcí Ctrl+C/V nakopíruje do ostatních; pak smázne obsah kam kopíroval, takže ve sloupci zbydou jen barvy
	dim oDoc as object, oList as object, oBunka as object, sAdresaPrvni$, i&, j&, s$, sStyl$, sSloupec$, iRadek&
	dim oPodmFormat as object, oPodminky(3) as new com.sun.star.beans.PropertyValue, args(0) as new com.sun.star.beans.PropertyValue
	oDoc=ThisComponent
	oList=oDoc.Sheets(0)
	sStyl="Označeno" 'buňkový styl který se nastaví buňkám splňujícím podmínku ve =STYLE(...)
	oBunkyJmena=oList.getCellRangeByName("C2:C4") 'buňky se jmény které se dají do podmínky
	sAdresaPrvni="A2" 'adresa první buňky která bude jako podmínka pro vzorec =STYLE()
	sAdresaVyplnPrvni="B2" 'první buňka do které makro umístí vzorec =STYLE()
	sAdresaVypln="B3:B1000" 'ostatní buňky kam se dá =STYLE(); z té první se udělá Ctrl+C, pak se označí tyto a tam se to vloží -> takto si to automaticky změní adresy ve vzorci (tedy A2 na A3, A4 atd.)
	rem vytvoření řetězce podmínky
	p=oBunkyJmena.getDataArray
	s="=STYLE(IF(OR("
	for i=lbound(p) to ubound(p)
		s=s & sAdresaPrvni & "=""" & p(i)(0) & """"
		if i<>ubound(p) then s=s & ";"
	next i
	s=s & ");""" & sStyl & """))" '=STYLE(IF(OR(A2="jana";A2="kamil";A2="lenka");"Dobré"))
	rem vyplní vzorcem první buňku
	oBunka=oList.getCellRangeByName(sAdresaVyplnPrvni)
	oBunka.formula=s
	rem označit první buňku a Ctrl+C
	oDoc.currentController.select(oBunka)
	uno("Copy", oDoc)
	rem označit zbylé buňky a Ctrl+V
	args(0).Name="ToPoint" : args(0).Value=sAdresaVypln
	uno("GoToCell", oDoc, args)
	uno("Paste", oDoc)
	rem smazat obsah i vzorce buněk, styl s barvou zůstane
	args(0).Name="ToPoint" : args(0).Value=sAdresaVypln
	uno("GoToCell", oDoc, args)
	uno("ClearContents", oDoc)
	args(0).Name="ToPoint" : args(0).Value=sAdresaVyplnPrvni
	uno("GoToCell", oDoc, args)
	uno("ClearContents", oDoc)
End Sub

Sub uno(s$, oDoc as object, optional args()) 'provede uno příkaz
	if isMissing(args) then args=array()
	s=".uno:" & s 'jaký uno příkaz
	createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch(oDoc.CurrentController.Frame, s, "", 0, args) 'provést
End Sub

Nastavovat přímo podmíněné formátování se mi povedlo jen buňku po buňce a bylo to hrozně pomaalý, makro zde. Jména jsou jména opět v A2:Aněco a filtr je C2:C4. Omezeno na 500 řádků.

global gPrerusit as boolean, goDocController as object, goKeyHandler as object

rem !!! POZOR, HROZNĚ POMALÝ, tolerovatelná rychlost tak do tisíc řádků!!!
Sub PodmineneFormatovani 'nastaví do rozsahu ve sloupci A podmíněné formátování dle jmen ve sloupci B
	gPrerusit=false 'pro stisknutí Esc při ukazateli průběhu ve statusbaru
	dim oDoc as object, oList as object, oBunka as object, oBunkyJmena as object, p(), i&, j&, s$, sStyl$, sSloupec$, iRadek&, oDocController as object, oStatusbar as object, max&, iKrok&
	dim oPodmFormat as object, oPodminky(3) as new com.sun.star.beans.PropertyValue
	oDoc=ThisComponent
	oList=oDoc.Sheets(0)
	oBunkyJmena=oList.getCellRangeByName("C2:C4") 'buňky se jmény do podmínky
	p=oBunkyJmena.getDataArray
	oBunky=oList.getCellRangeByName("A2:A500") 'buňky kam dát podmíněný formát
	sSloupec=oBunky.Columns.ElementNames(0)
	sStyl="Označeno" 'styl jaký nastavit barveným buňkám

	rem ukazatel průběhu
	goDocController=oDoc.currentController
	oStatusbar=goDocController.statusIndicator 'objekt statusbaru
	max=oBunky.Rows.Count
	oStatusbar.start("Stisk Esc = Přerušit",max) 'inicializace ukazatele, text a maximální hodnota
	RegisterKeyHandler

	for i=oBunky.RangeAddress.StartRow to oBunky.RangeAddress.EndRow
		s="OR(" 'řetězec podmíněného formátu
		for j=lbound(p) to ubound(p)
			s=s & sSloupec & i+1 & "=""" & p(j)(0) & """"
			if j<>ubound(p) then s=s & ";"
		next j
		s=s & ")" 'podmínka pro buňku A2 bude třeba: OR(A2="jana";A2="kamil";A2="lenka")
		oBunka=oList.getCellByPosition(oBunky.RangeAddress.StartColumn, i)
		oPodmFormat=oBunka.ConditionalFormat
		oPodminky(0).Name="Operator"
		oPodminky(0).Value=com.sun.star.sheet.ConditionOperator.FORMULA
		oPodminky(1).Name="Formula1"
		oPodminky(1).Value=s
		oPodminky(2).Name="StyleName"
		oPodminky(2).Value=sStyl
		oPodminky(3).Name="SourcePosition"
		oPodminky(3).Value=oBunka.CellAddress
		oPodmFormat.clear() 'smáznout předchozí podmíněné formátování v buňce
		oPodmFormat.addNew(oPodminky())
		oBunka.ConditionalFormat=oPodmFormat 'nastavit nové podmíněné formátování
		if iKrok=20 then
			oStatusbar.setValue(i) 'změnit hodnotu ukazatele statusbaru
			iKrok=0
		end if
		iKrok=iKrok+1
		if gPrerusit=true then exit for 'testování stavu pro Přerušení
	next i

	UnregisterKeyHandler 'ukončit zachytávání kláves
	oStatusbar.end 'konec ukazatele průběhu
	oStatusbar.reset 'reset statusbaru
End Sub

Sub RegisterKeyHandler 'aktivovat dokumentu zachytávání kláves
	goKeyHandler=createUnoListener("Klavesa_", "com.sun.star.awt.XKeyHandler")
	goDocController.addKeyHandler(goKeyHandler)
End Sub

Sub UnregisterKeyHandler 'deaktivovat zachytávání kláves
	if not IsNull(goDocController) AND NOT IsEmpty(goDocController) then
		goDocController.removeKeyHandler(goKeyHandler)
	end if
End Sub

Function Klavesa_keyPressed(optional oEvt) as boolean 'obsluha stisku klávesy
	if oEvt.keychar=chr(27) then gPrerusit=true 'stisknut Esc
	Klavesa_keyPressed=false
End Function

Function Klavesa_keyReleased(optional oEvt) 'obsluha uvolnění klávesy
	Klavesa_keyReleased=false
End Function

Function Klavesa_disposing(optional oEvt)
End Function

Vkládám spíše již pro zajímavost když to není na celou tabulku ale jen sloupec

Editoval kamlan (8. 4. 2021 10:36:04)

Offline

#20 8. 4. 2021 10:36:27

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 615

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

barevnej napsal(a)

Jeden obrázek více než tisíc slov smile
https://www.ranam.cz/FOTKY_FORUM/4.png

Funguje krásně. "Anna" tam není proto není nic obarveného. Doplněte tam větu s textem "Anna". Což?


možná vás uspokojí tento vzorec, ale nějak jsem myslel že je to jasné:

 OR(ISNUMBER(SEARCH($A$1;A4));ISNUMBER(SEARCH($B$1;A4));ISNUMBER(SEARCH($C$1;A4));ISNUMBER(SEARCH($D$1;A4));ISNUMBER(SEARCH($E$1;A4)))

Editoval ludviktrnka (8. 4. 2021 11:30:57)


LibreOffice 6.2.

Offline

#21 8. 4. 2021 12:26:09

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 86

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

@kamlan: už jsem od vás spustu rad použil v minulosti (hlavně makra) a jste fakt machr, až jde z Vás strach. Vážím si takhle chytrých lidí a určitě si prostuduji co mi píšete. Mockrát děkuji.
_
@ludviktrnka: ano přesně to mě uspokojí, vygeneruji si ten příkaz dostatečně dlouhý a bude to smile
_
Mockrát všem děkuji za rady a omlouvám se že jsem to sem psal tak polopaticky s obrázky. (odkazy nechám na webu uložený pro pozdější návštěvníky kydyby snad někdo potřeboval něco podobného)

Offline

#22 8. 4. 2021 15:37:32

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,241

Re: Podmíněné formátování CALC, více podmínek najednou. VYŘEŠENO

Otestujte tento soubor Podbarvování hledaných výrazů.
     Je to obarvení buňky kde se nalézají hledané výrazy - a není to podmíněný formát. Proto je možné i vyhledávání podle barvy pozadí - což u podmíněného formátu nejde. Makro se spouští z nabídky OVLÁDÁNÍ > Hledat a podbarvit - a musíte mít zapnutá makra - to určitě znáte. Výrazy se zadávají do Array a podle jejich počtu se upravuje cyklus For...Next. Počet se počítá od nuly tak že tam je například 10 výrazů, uvede se cyklus For i = 0 To 9.
     Do výrazů můžete zadat cokoliv, celá slova, nebo i věty. Vyhledávání se nastaveno na Case non sensitive, takže najde i například jména s malým písmenkem na začátku. Dá se snadno upravit i na různé barvy pro různé výrazy.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí