Nacházíte se: WALL.czExcel návod › Podmíněné formátování bez omezení
Kategorie: Excel návod

Podmíněné formátování bez omezení

ExcelPodmíněné formátování je velmi užitečný nástroj, pomocí kterého můžete zpřehlednit svá data a upozornit na určité hodnoty např. na blížící se termín nebo jinou významnou hodnotu. Bohužel jsme omezeni jen na tři podmínky.

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.

Podmíněné formátování bez omezení

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.

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim mRange As Range, mPodminka As Range, rng1 As Range, rng2 As Range 'definování oblasti buněk, kde bude formát použit Set mRange = Range("rngData") 'definování oblasti buněk s podmínkami a formáty Set mPodminka = Range("rngPodminka") If Union(ActiveCell, mRange).Address = mRange.Address Then For Each rng1 In mRange 'pokud je buňka prázdná, tak nuluji formáty If rng1.Formula = "" Then rng1.Interior.ColorIndex = Null rng1.Font.FontStyle = xlNormal rng1.Font.Color = Null rng1.HorizontalAlignment = xlGeneral End If For Each rng2 In mPodminka 'podmínka - kontrola zda hodnota buňky se shoduje s hodnotou 'buňky v oblasti podmínek If rng1.Formula = rng2.Value Then 'pokud je podmínka splněna, nastavuji formáty rng1.Interior.ColorIndex = rng2.Interior.ColorIndex rng1.Font.FontStyle = rng2.Font.FontStyle rng1.Font.Color = rng2.Font.Color rng1.HorizontalAlignment = rng2.HorizontalAlignment End If Next rng2 Next rng1 End If End Sub

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).

print Formát pro tisk

Sdílet článek:

Komentáře rss

Zasílate odpověď ke stávajícímu příspěvku (zrušit).

Nemáte oprávnění přidávat příspěvky.

Uživatelské jméno
Heslo
     

Registrace >
Ztracené heslo >


, napříč listy odpovědět
avatar
tohle mi přijde super, už jsem párkrát použil. Funguje mi to ale pouze pokud mám "zadávací" sestavu buněk ve stejném lsitu jako cílové buňky. jak by to šlo upravit aby fungovalo i z jiného listu?
Díky moccitovat
, dátumy odpovědět
avatar
Dobrý deň.
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
, Formátování textu odpovědět
avatar
Dobrý den.
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
odpověděl(a)
elninoslov
To podmieneným formátom nepôjde. Asi iba makrom, hore spomínaným spôsobom. Teda napr. pre A1:
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 Sub
citovat
, JEDNA BUŇKA JINÁ BARVA odpovědět
avatar
Dobrý den , jsem úplný lajk na podmíněné formátování , prosím jak a kde zapsat , aby mi buňky měnily byrvu .

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 7 7citovat
odpověděl(a)
elninoslov
Buď kliknite na prvú bunku oblasti, ktorej sa má podmienené formátovanie týkať, alebo danú oblasť označte (dá sa to neskôr zmeniť).
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

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje