Posledná aktualizácia: august 2021; Microsoft Excel 365, 2019, 2016.
V dnešnom návode VBA for Excel Automation sa dozvieme, ako môžeme programovo zmeniť farbu bunky na základe hodnoty bunky.
Túto techniku môžeme použiť napríklad pri vývoji jednoduchého stavového panela.
Nastaviť
Ak ešte nevyvíjate v Exceli, odporúčame vám pozrieť si nášho úvodného sprievodcu makrami v Exceli . Konkrétne sa musíte uistiť, že karta Vývojár je k dispozícii na páse s nástrojmi Microsoft Excel, pretože ju budete používať na písanie jednoduchého kódu.
- Otvorte program Microsoft Excel. Upozorňujeme, že kód poskytnutý v tomto návode by mal fungovať v Exceli 2007 a novších verziách.
- Do prázdneho pracovného hárka pridajte nasledujúcu tabuľku:

- Teraz pokračujte a definujte pomenovaný rozsah stlačením: Vzorce>>Definovať názov
![Ako nastaviť farbu bunky Excelu podľa podmienky s VBA? Ako nastaviť farbu bunky Excelu podľa podmienky s VBA?]()
Zmena vnútornej farby bunky na základe hodnoty pomocou Cell.Interior.Color
- Kliknite na položku Vývojár na páse s nástrojmi.
- Stlačením Visual Basic alebo Alt+F11 otvorte editor VBA pre vývojárov.
- Potom zvýraznite pracovný hárok, v ktorom by ste chceli spustiť svoj kód. Prípadne vyberte modul, ktorý má váš kód VBA.
- Pokračujte a vložte tento kód. V našom príklade upravíme vnútornú farbu rozsahu buniek na špecifické hodnoty RGB bunky zodpovedajúce červenej, žltej a zelenej farbe.
- Konkrétne používame metódu Excel VBA Cell.Interior.Color a odovzdávame zodpovedajúcu hodnotu RGB alebo index farieb.
Sub Color_Cell_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Status")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case "Progressing"
MyCell.Interior.Color = RGB(0, 255, 0)
Case "Pending Feedback"
MyCell.Interior.Color = RGB(255, 255, 0)
Case "Stuck"
MyCell.Interior.Color = RGB(255, 0, 0)
End Select
Next MyCell
End Sub
- Spustite svoj kód – buď stlačením F5 alebo Spustiť>> Spustiť Sub / UserForm.
- Všimnite si, že stavový panel bol vyplnený, ako je znázornené nižšie:
![Ako nastaviť farbu bunky Excelu podľa podmienky s VBA? Ako nastaviť farbu bunky Excelu podľa podmienky s VBA?]()
- Uložte kód a zatvorte editor VBA.