Senast uppdaterad: augusti 2021; Microsoft Excel 365, 2019, 2016.
I dagens VBA för Excel Automation-handledning lär vi oss om hur vi kan ändra färgen på en cell programmässigt baserat på cellvärdet.
Vi kan till exempel använda denna teknik när vi utvecklar en enkel statuspanel.
Uppstart
Om du ännu inte utvecklar på Excel rekommenderar vi att du tittar på vår introduktionsguide till Excel-makron . Specifikt måste du se till att fliken Utvecklare är tillgänglig i ditt Microsoft Excel-band, eftersom du kommer att använda den för att skriva lite enkel kod.
- Öppna Microsoft Excel. Observera att koden som tillhandahålls i denna handledning förväntas fungera i Excel 2007 och senare.
- Lägg till följande tabell i ett tomt kalkylblad:

- Gå nu vidare och definiera en namngiven Range genom att trycka på: Formler>>Definiera namn

Ändra cellinredningsfärg baserat på värde med Cell.Interior.Color
- Tryck på posten utvecklare i menyfliksområdet.
- Tryck på Visual Basic eller Alt+F11 för att öppna din utvecklare VBA-redigerare.
- Markera sedan arbetsbladet där du vill köra din kod. Alternativt kan du välja en modul som har din VBA-kod.
- Fortsätt och klistra in den här koden. I vårt exempel kommer vi att modifiera den inre färgen i ett område av celler till specifika cell RGB-värden som motsvarar de röda, gula och gröna färgerna.
- Specifikt använder vi Excel VBA-metoden Cell.Interior.Color och skickar motsvarande RGB-värde eller färgindex.
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
- Kör din kod – antingen genom att trycka på F5 eller Kör>> Kör Sub / UserForm.
- Du kommer att märka att statuspanelen fylldes enligt nedan:

- Spara din kod och stäng din VBA-editor.