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
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 de hugolaza
1