U ovom vodiču naučit ćemo kako koristiti Visual Basic za aplikacije (VBA) za promjenu veličine i stila teksta u Excel ćeliji na temelju sadržaja ćelije. Ovaj vodič vrijedi za Excel 365, 2021, 2019 i 2016.
Pripremne utakmice
Ako ste novi u razvoju Excel VBA, preporučit ću vam da prije prolaska kroz vodič pogledate naš Excel VBA makro početni.
Prije nego što počnete s kodiranjem, trebali biste omogućiti karticu programera na Excelu na vrpci jer inače nećete moći pristupiti svom Visual Basic Editoru.
Promijenite svojstva teksta svoje Excel ćelije pomoću VBA
Definirajte svoju proračunsku tablicu
Počet ćemo definiranjem proračunske tablice programa Excel koju ćemo koristiti kao primjer. Slobodno ga upotrijebite za praćenje ovog vodiča.
- Otvorite Microsoft Excel i stvorite novu Excel radnu knjigu s omogućenom makronaredbom ( .xlsm ) pod nazivom Excel_Macros.xlsm
- Spremite proračunsku tablicu na svoj lokalni disk.
- Na radnom listu Sheet1 , samo naprijed dodajte tablicu u nastavku:

- Sada, na vrpci, pritisnite Formule .
- Zatim pritisnite Definiraj naziv .
- Definirajte imenovani raspon na koji ćete primijeniti svoj VBA kod kao što je prikazano u nastavku i pritisnite OK .
![Kako postaviti boju fonta teksta u Excelu s VBA? Kako postaviti boju fonta teksta u Excelu s VBA?]()
Koristite svojstvo Cell.Font VBA za promjenu boje i stila fonta
- Prijeđite na karticu Developer .
- Zatim samo naprijed i pritisnite gumb Visual Basic .
- Na lijevoj strani Project Explorer , označite projekt Excel_Macros.xlsm , a zatim pritisnite Insert i odaberite Module .
- Stvorit će se novi VBA modul pod nazivom Module1 .
- Samo naprijed i zalijepite sljedeći kod u novostvoreni modul:
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
- Pritisnite gumb Spremi u uređivaču Visual Basica.
- Sada pritisnite Run , a zatim odaberite Run Sub/UserForm (ili jednostavno pritisnite F5).
- Prijeđite na radni list Sheet1 i primijetite promjene. Vašim unosima u tablici dodijeljeno je više kodova boja u skladu s njihovim tekstom (pomoću funkcije RGB boje), a također smo postavili da tekst bude podebljan i povećali njegovu veličinu.
![Kako postaviti boju fonta teksta u Excelu s VBA? Kako postaviti boju fonta teksta u Excelu s VBA?]()
- Ako niste spremili svoj kod, pritisnite gumb Spremi (ili Ctrl+S), a zatim također spremite svoju radnu knjigu.
Pristupite svom VBA makronaredbi
- Imajte na umu da je vaš kod uvijek dostupan za pokretanje iz naredbe Macros koja se nalazi na kartici Prikaz (ili alternativno u Developer | Macros)
![Kako postaviti boju fonta teksta u Excelu s VBA? Kako postaviti boju fonta teksta u Excelu s VBA?]()
Bonus: Cell Style
Excel nudi mogućnost stvaranja "stilova" ćelija. Stilovi se mogu pronaći u Home Ribbon > Stilovi:
![excel vba stilovi fonta]()
Stilovi vam omogućuju da spremite željeno oblikovanje ćelija. Zatim dodijelite taj stil novoj ćeliji i sva oblikovanja ćelije odmah se primjenjuju. Uključujući veličinu fonta, boju ćelije, status zaštite ćelije i sve ostalo što je dostupno u izborniku za oblikovanje ćelije:
![izbornik za oblikovanje ćelija excel]()
Osobno, za mnoge modele na kojima radim, obično stvaram stil ćelije "Ulaz":
Raspon("a1").Stil = "Unos"
Korištenjem stilova također možete lako prepoznati vrste ćelija na svom radnom listu. Primjer ispod proći će kroz sve ćelije na radnom listu i promijeniti bilo koju ćeliju sa Style = "Input" u "InputLocked":
Dim Cell as Range
Za svaku ćeliju u ActiveSheet.Cells
Ako je Cell.Style = "Unos" zatim Cell.Style = "InputLocked"
Završi ako
Sljedeća ćelija