În acest tutorial vom învăța cum să folosim Visual Basic pentru aplicații (VBA) pentru a modifica dimensiunea și stilul textului într-o celulă Excel pe baza conținutului celulei. Acest tutorial se aplică pentru Excel 365, 2021, 2019 și 2016.
Preliminarii
Dacă sunteți nou în dezvoltarea Excel VBA, vă voi recomanda ca, înainte de a parcurge tutorialul, să vă uitați la primul nostru macro Excel VBA.
Înainte de a începe codarea, ar trebui să activați fila de dezvoltator pe Excel în Panglică, deoarece altfel nu veți putea accesa Editorul Visual Basic.
Modificați proprietățile textului celulei Excel cu VBA
Definiți foaia de calcul
Vom începe prin a defini o foaie de calcul Excel pe care o vom folosi ca exemplu. Simțiți-vă liber să îl utilizați pentru a urma acest tutorial.
- Deschideți Microsoft Excel și creați un nou registru de lucru Excel activat cu macrocomenzi ( .xlsm ) numit Excel_Macros.xlsm
- Salvați foaia de calcul pe unitatea locală.
- În foaia de lucru Sheet1 , continuați și adăugați tabelul de mai jos:

- Acum, din Panglică, apăsați Formule .
- Apoi apăsați Definire nume .
- Definiți un interval numit pe care veți aplica codul VBA așa cum se arată mai jos și apăsați OK .

Utilizați proprietatea Cell.Font VBA pentru a schimba culoarea și stilul fontului
- Treceți la fila Dezvoltator .
- Apoi mergeți mai departe și apăsați butonul Visual Basic .
- În partea stângă Project Explorer , evidențiați proiectul Excel_Macros.xlsm , apoi apăsați Insert și alegeți Module .
- Va fi creat un nou modul VBA numit Module1 .
- Continuați și inserați următorul cod în modulul nou creat:
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
- Apăsați butonul Salvare din editorul dvs. Visual Basic.
- Acum apăsați Run și apoi alegeți Run Sub/UserForm (sau pur și simplu apăsați F5).
- Treceți la foaia de lucru Sheet1 și observați modificările. Intrărilor dvs. din tabel li s-au atribuit mai multe coduri de culoare în funcție de textul lor (folosind funcția de culoare RGB) și, de asemenea, am setat textul să fie aldine și să-i mărim dimensiunea.

- Dacă nu ați salvat codul, apăsați butonul Salvare (sau Ctrl+S), apoi salvați și registrul de lucru.
Accesați macrocomanda VBA
- Rețineți că codul dvs. este întotdeauna disponibil pentru a fi executat din comanda Macro-uri situată în fila Vizualizare (sau alternativ în Dezvoltator | Macro-uri)

Bonus: stil celular
Excel oferă posibilitatea de a crea „Stiluri” pentru celule. Stilurile pot fi găsite în Panglica Acasă > Stiluri:

Stilurile vă permit să salvați formatarea dorită a celulelor. Apoi atribuiți acel stil unei celule noi și toată formatarea celulei este aplicată instantaneu. Inclusiv dimensiunea fontului, culoarea celulei, starea protecției celulelor și orice altceva disponibil din meniul Formatare celule:

Personal, pentru multe dintre modelele la care lucrez, de obicei creez un stil de celulă „Intrare”:
Interval("a1").Stil = "Intrare"
Folosind stiluri, puteți identifica cu ușurință tipurile de celule în foaia de lucru. Exemplul de mai jos va trece prin toate celulele din foaia de lucru și va schimba orice celulă cu Style = „Input” în „InputLocked”:
Dim Cell ca interval
Pentru fiecare celulă din ActiveSheet.Cells
Dacă Cell.Style = "Input" apoi Cell.Style = "InputLocked"
Încheiați dacă
Celula următoare