Sist oppdatert: august 2021; Microsoft Excel 365, 2019, 2016.
I dagens VBA for Excel Automation-veiledning lærer vi om hvordan vi kan endre fargen på en celle programmessig basert på celleverdien.
Vi kan bruke denne teknikken når vi utvikler et enkelt statusdashbord for eksempel.
Oppsett
Hvis du ennå ikke utvikler på Excel, anbefaler vi at du ser på vår introduksjonsguide til Excel-makroer . Spesielt må du sørge for at Utvikler-fanen er tilgjengelig i Microsoft Excel-båndet ditt, da du vil bruke den til å skrive enkel kode.
- Åpne Microsoft Excel. Merk at koden i denne opplæringen forventes å fungere i Excel 2007 og utover.
- I et tomt regneark legger du til følgende tabell:

- Gå nå videre og definer et navngitt område ved å trykke: Formler>>Definer navn
![Hvordan sette en Excel-cellefarge i henhold til en tilstand med VBA? Hvordan sette en Excel-cellefarge i henhold til en tilstand med VBA?]()
Endring av celleinteriørfarge basert på verdi med Cell.Interior.Color
- Trykk på utvikleroppføringen i båndet.
- Trykk Visual Basic eller Alt+F11 for å åpne utvikler VBA-redigeringsprogrammet.
- Deretter markerer du regnearket der du vil kjøre koden din. Alternativt kan du velge en modul som har VBA-koden din.
- Gå videre og lim inn denne koden. I vårt eksempel vil vi endre den indre fargen til en rekke celler til spesifikke celle RGB-verdier som tilsvarer de røde, gule og grønne fargene.
- Spesielt bruker vi Excel VBA-metoden Cell.Interior.Color og passerer den tilsvarende RGB-verdien eller fargeindeksen.
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
- Kjør koden din – enten ved å trykke på F5 eller Kjør>> Kjør Sub / UserForm.
- Du vil legge merke til at statusoversikten ble fylt ut som vist nedenfor:
![Hvordan sette en Excel-cellefarge i henhold til en tilstand med VBA? Hvordan sette en Excel-cellefarge i henhold til en tilstand med VBA?]()
- Lagre koden og lukk VBA-editoren.