Zatímco MS Excel 2007 a novější již umožňují zadat více kritérií, verze 2003 povolí zadat maximálně 3 podmínky. Mnohdy však potřebujeme podmínek zadat více. Jak se s tímto vypořádat?
Stáhnout vzorový sešit (xls, 30 kB), 25. 3. 13
Postup
Makro je funkční, avšak prozatím neefektivní - pokusím se jej předělat v nejbližší době.
- Předpokládejme, že už máme v sešitu oblast buněk, kterou budeme chtít formátovat.
 - Nyní si v jiné oblasti oblasti buněk vytvoříme "vzorkovník", podle kterého bude naše oblast formátována.
 - Budeme-li chtít například použít 6 formátů buněk, ve vzorkovníku naformátujeme 6 buněk (každou s jedním formátem). Obsah buněk ve vzorkovníku by měl odpovídat podmínkám - viz obrázek vpravo.
 - Do sešitu vložíme nový modul do kterého umístíme následující makro.
 
Option Explicit
Sub formát()
Application.ScreenUpdating = False
Dim bunka As Range
Dim oblast As String
 oblast = "z_přehled" '<<< oblast, která bude formátovaná
'vymaže předchozí formátování
With Range(oblast)
 .Interior.ColorIndex = xlNone
 .Font.ColorIndex = 1
End With
'naformátuje pozadí buňky a barvu textu v oblasti podle buněk A2:A7
For Each bunka In Range(oblast)
 With bunka
 Select Case .Value
 Case 1
 .Interior.ColorIndex = Range("A2").Interior.ColorIndex
 Case 2 
 .Interior.ColorIndex = Range("A3").Interior.ColorIndex
 Case 3 
 .Interior.ColorIndex = Range("A4").Interior.ColorIndex
 Case 4 To 8 
 .Interior.ColorIndex = Range("A5").Interior.ColorIndex
 Case 9 To 20 
 .Font.ColorIndex = Range("A6").Font.ColorIndex
 .Interior.ColorIndex = Range("A6").Interior.ColorIndex
 Case "-" 
 .Interior.ColorIndex = Range("A7").Interior.ColorIndex
 End Select
 End With
Next bunka
 
Application.ScreenUpdating = False
End Sub
- V makru nastavíme správnou oblast, která se bude formátovat a buňky, které tvoří vzorkovník (v tomto případě A1:A7).
 - Makro spustíme.
 



