pon esto en un módulo en tu proyecto de VBA. A continuación, puede resaltar un rango en una hoja y ejecutar el sub desde la opción de menú Herramientas> Macro> Macros para colorear cada celda en el rango seleccionado.
Public Sub ColorCells()
Dim cell, rng As Range
Dim color As Integer
Dim sheet As Worksheet
Application.ScreenUpdating = False
Application.StatusBar = "Coloring Cells"
Set rng = Application.Selection
Set sheet = Application.ActiveSheet
For Each cell In rng.cells
Select Case Trim(LCase(cell))
Case "blue"
color = 5
Case "red"
color = 3
Case "yellow"
color = 6
Case "green"
color = 4
Case "purple"
color = 7
Case "orange"
color = 46
Case Else
color = 0
End Select
sheet.Range(cell.Address).Interior.ColorIndex = color
Next cell
Application.ScreenUpdating = True
Application.StatusBar = "Ready"
End Sub
Si los usuarios están entrando nuevos nombres de colores en células entonces se podría poner esto en el código de la hoja en el proyecto de VBA para colorear las células como un usuario está entrando en los nombres de los colores en las células
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.cells.Count > 1 Then Exit Sub
Dim color As Integer
Select Case Trim(LCase(Target))
Case "blue"
color = 5
Case "red"
color = 3
Case "yellow"
color = 6
Case "green"
color = 4
Case "purple"
color = 7
Case "orange"
color = 46
Case Else
color = 0
End Select
Target.Interior.ColorIndex = color
End Sub
EDITAR: Se agregó la función Recortar alrededor de la expresión de la declaración de caso para probar, de modo que los espacios iniciales/finales accidentales en las celdas se ignoran :)