Ultima actualizare: august 2021; Microsoft Excel 365, 2019, 2016.
În tutorialul de automatizare VBA pentru Excel de astăzi, vom afla despre cum putem schimba în mod programatic culoarea unei celule în funcție de valoarea celulei.
Putem folosi această tehnică atunci când dezvoltăm un tablou de bord simplu de stare, de exemplu.
Înființat
Dacă nu dezvoltați încă pe Excel, vă recomandăm să consultați ghidul nostru introductiv pentru Macro-urile Excel . Mai exact, trebuie să vă asigurați că fila Dezvoltator este disponibilă în Panglica Microsoft Excel, deoarece o veți folosi pentru a scrie un cod simplu.
- Deschideți Microsoft Excel. Rețineți că codul furnizat în acest tutorial este de așteptat să funcționeze în Excel 2007 și ulterior.
- Într-o foaie de lucru goală, adăugați următorul tabel:

- Acum mergeți mai departe și definiți un interval numit apăsând: Formule>>Definiți nume

Schimbarea culorii interioare a celulei în funcție de valoare cu Cell.Interior.Color
- Apăsați intrarea pentru Dezvoltator din Panglică.
- Apăsați pe Visual Basic sau Alt+F11 pentru a deschide editorul VBA de dezvoltator.
- Apoi evidențiați Foaia de lucru în care doriți să rulați codul. Alternativ, selectați un modul care are codul dvs. VBA.
- Continuați și inserați acest cod. În exemplul nostru, vom modifica culoarea interioară a unei game de celule la anumite valori RGB ale celulei corespunzătoare culorilor roșu, galben și verde.
- Mai exact, folosim metoda Excel VBA Cell.Interior.Color și trecem valoarea RGB corespunzătoare sau indicele de culoare.
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
- Rulați codul - fie apăsând pe F5, fie Run>> Run Sub / UserForm.
- Veți observa că tabloul de bord de stare a fost completat după cum se arată mai jos:

- Salvați codul și închideți editorul VBA.