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)