Cambio de color según condición de función

Tengo un calendario laboral en una hoja excel.
En unas filas están los números del día del mes y en la fila inferior una letra que representa si tengo turno de tarde, mañana, noche, descanso, festivo, etc.
Las letras cambian con una función al cambiar el nombre de la persona y el departamento.
Necesito una macro para que cambie el color de las celdas con letra, y un color diferente las celdas de la fila superior, donde están los números, pero también según la letra que aparece en la celda inferior.
He intentado utilizar la macro que adjunto creada por Elsa Matilde, pero solo me cambia el color cuando las letras las cambio a mano, no cuando cambian automáticamente por la función.
También se tendría que adaptar para varios rangos de celdas.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Set Relcell = Range("T11:Z11")
If Not Application.Intersect(Relcell, Range(Target.Address(False, False))) Is Nothing Then
dato = Target.Value
Set busco = ActiveSheet.Range("CG75:CG84").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
Target.Interior.ColorIndex = busco.Offset(0, 1).Interior.ColorIndex
End If
Set busco = Nothing
End If
Set Relcell = Nothing
End Sub
Gracias por anticipado y saludos
Respuesta
1
Esta rutina cambia el color de las celdas según su contenido, en el Rango F2:F8, cada vez que cambias de celda. Puedes cambiar este rango.
Si celda contiene 1 entonces Amarillo, 2 entonces rojo, "b" entonces Lili, "azul" entonces azul, etc.
Puedes añadir condiciones, aumentando las opciones Case.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each c In Range("F2:F8")
    Select Case c
    Case 1
       c.Interior.ColorIndex = 36   'Amarillo
    Case 2
       c.Interior.ColorIndex = 3    'Rojo
    Case 3
       c.Interior.ColorIndex = 34   'Celeste
    Case "a"
       c.Interior.ColorIndex = 35   'Verde Claro
    Case "b"
       c.Interior.ColorIndex = 39   'Lila
    Case ="azul"
       c.Interior.ColorIndex = 41   'Azul
 End Select
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas