Pokud neznáte funkci Podmíněné formátování, doporučuji vám přečíst si jeden ze souvisejících článků uvedených na konci tohoto článku.
Zkušenější uživatelé, kteří podmíněné formátování využívají zřejmě brzy narazili na omezení tří podmínek. Toto omezení lze obejít vlastním makrem, které sleduje změny na listu.
Takové řešení může vypadat např. takto:
Na listu jsem vytvořil dvě oblasti. První oblast je oblast buněk, kde bude použito vlastní podmíněné formátování. Druhá oblast je oblast buněk s podmínkou (podmínka = shoda hodnot buněk) a formát buňky (styl fontu, barva pozadí buňky a zarovnání v buňce) bude použit pokud je podmínka splněna viz. obrázek. Zde je jasně vidět, že podmínek můžete mít kolik potřebujete.
Otevřel jsem editor jazyka Vusial Basic Alt+F11. Kód jsem vložil do listu, na kterém má podmíněné formátování pracovat v Microsoft Excel Object. Vzhledem k tomu, že makro má být spuštěno při jakékoliv změně na listu, tak jsem vybral událost Worksheet Change.
Jak jsem uvedl, je zde použita jednoduchá podmínka a to je kontrola, zda se shodují hodnoty buněk. Zkušenější uživatelé si mohou upravit jak podmínku tak i formáty podle vlastních potřeb. Uvedené řešení si můžete stáhnout a vyzkoušet zde: Nejste přihlášen(a).
Komentáře
Díky moccitovat
Ja mám otázku ohľadom podmieneného formátovania ak sa v stĺpcoch nachádzajú dátumy (export databázy do excelu), ktoré sa čas od času zmenia.
Ako docielim, že dátum splnenia úlohy už uplynul (toto potrebujem zvýrazniť) no úloha ešte splnená nebola. Ak je daná úloha splnená zvýraznenie pominie.citovat
Nevíte jak udělat podmíněné formátování textu tak, že v případě kdy bude buňka v určité oblasti obsahovat znak "N" bude text v buňce naformátován doprava dolů, kdy tam bude "R", nebo "C", tak doleva nahoru a jinak bude text na střed?
Moc díky.citovat
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(1, 1)) Is Nothing Then
With Cells(1, 1)
Select Case .Value2
Case "N": .HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
Case "R", "C": .HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
Case Else: .HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End Select
End With
End If
End Subcitovat
např . hodnota bunky 0-69,99 červená
70- 84,99 oranžová
85 - nekonečno zelená
Bude se to týkat více buněk ve více řádcích , Děkuji citovat
Karta Domov - Podmienené formátovanie - Nové pravidlo (alebo Spravovať pravidlá) - vyberte požadovanú možnosť, v tomto prípade je to posledná možnosť "Použiť vzorec na určenie buniek, ktoré sa majú formátovať".
Napíšte vzorec, ktorý jednoznačne vráti výsledok TRUE/FALSE (PRAVDA/NEPRAVDA), začínate znakom "=", viď príklad.
Nastavte požadovaný formát, tlačítkom formát - v tomto prípade iba Výplň.
Potvrďte 2x alebo 3x OK (podľa toho, kadiaľ ste tam išli)
Oblasť, ktorej sa má podmienené formátovanie týkať, sa dá zmeniť práve v tom Domov - Podmienené formátovanie -
Spravovať pravidlá. Vzorec sa na viac buniek vždy automaticky prepočítava pri vytváraní Podmieneného formátovania podľa pozície kurzora. A to podľa nasadeného adresovania relatívne/absolútne, ale toto už vysvetľovať nejdem.
Príkladcitovat