V tomto tutoriálu se naučíme, jak používat Visual Basic for Applications (VBA) k úpravě velikosti a stylu textu v buňce Excelu na základě obsahu buňky. Tento návod platí pro Excel 365, 2021, 2019 a 2016.
Předběžná utkání
Pokud s vývojem Excel VBA teprve začínáte, doporučuji vám, abyste se před procházením tutoriálu podívali na náš makro základ Excel VBA.
Než začnete kódovat, měli byste povolit kartu Vývojář v Excelu na pásu karet, protože jinak nebudete mít přístup k editoru jazyka Visual Basic.
Změňte vlastnosti textu buňky Excel pomocí VBA
Definujte svou tabulku
Začneme definováním excelové tabulky, kterou použijeme jako příklad. Neváhejte jej použít k pokračování v tomto tutoriálu.
- Otevřete aplikaci Microsoft Excel a vytvořte nový sešit Excel s podporou maker ( .xlsm ) s názvem Excel_Macros.xlsm
- Uložte svou tabulku na místní disk.
- V listu List1 pokračujte a přidejte níže uvedenou tabulku:

- Nyní z pásu karet klikněte na Vzorce .
- Poté stiskněte Definovat název .
- Definujte Pojmenovaný rozsah, na který použijete kód VBA, jak je znázorněno níže, a stiskněte OK .

Použijte vlastnost Cell.Font VBA ke změně barvy a stylu písma
- Přejděte na kartu Vývojář .
- Dále pokračujte a stiskněte tlačítko Visual Basic .
- V Průzkumníku projektu na levé straně zvýrazněte projekt Excel_Macros.xlsm , poté stiskněte Vložit a vyberte Modul .
- Bude vytvořen nový modul VBA s názvem Module1 .
- Pokračujte a vložte následující kód do nově vytvořeného modulu:
Sub Color_Cell_Text_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Completion_Status")
'loop through all cells in the range
For Each MyCell In StatusRange
StatValue = MyCell.Value
'modify the cell text values as needed.
Select Case StatValue
'green
Case "Progressing"
With MyCell.Font
.Color = RGB(0, 255, 0)
.Size = 14
.Bold = True
End With
'orange
Case "Pending Feedback"
With MyCell.Font
.Color = RGB(255, 141, 0)
.Size = 14
.Bold = True
End With
'red
Case "Stuck"
With MyCell.Font
.Color = RGB(255, 0, 0)
.Size = 14
.Bold = True
End With
End Select
Next MyCell
End Sub
- Stiskněte tlačítko Uložit v editoru jazyka Visual Basic.
- Nyní stiskněte Spustit a poté vyberte Spustit Sub/UserForm (nebo jednoduše stiskněte F5).
- Přejděte na list List1 a všimněte si změn. Vašim tabulkovým záznamům bylo přiřazeno více barevných kódů podle jejich textu (pomocí funkce barev RGB) a také jsme nastavili text na tučný a zvětšili jeho velikost.

- Pokud jste kód neuložili, stiskněte tlačítko Uložit (nebo Ctrl+S) a poté sešit také uložte.
Získejte přístup k makru VBA
- Všimněte si, že váš kód je vždy k dispozici ke spuštění z příkazu Makra umístěného na kartě Zobrazit (nebo alternativně v části Vývojář | Makra)

Bonus: Cell Style
Excel nabízí možnost vytvářet styly buněk. Styly naleznete v Home Ribbon > Styly:

Styly vám umožňují uložit požadované formátování buněk. Poté tento styl přiřaďte nové buňce a veškeré formátování buňky se okamžitě použije. Včetně velikosti písma, barvy buňky, stavu ochrany buňky a všeho dalšího dostupného z nabídky Formátování buňky:

Osobně pro mnoho modelů, na kterých pracuji, obvykle vytvářím styl buňky „Vstup“:
Rozsah("a1").Style = "Vstup";
Pomocí stylů můžete také snadno identifikovat typy buněk na listu. Níže uvedený příklad projde všechny buňky v listu a změní libovolnou buňku se Style = „Input“ na „InputLocked“:
Ztlumit buňku jako rozsah
Pro každou buňku v ActiveSheet.Cells
Pokud Cell.Style = "Vstup" potom Cell.Style = "InputLocked"
End If
Další buňka