.02/11/16
Buenas noches, Pablo
Digamos primero que lo que querés hacer es muy complicado para iniciarse en macros.
Hasta tal vez podría resolverse con Formato Condicional aunque también sería difícil.
Es posible hacer eso dejando una rutina de Visual Basic basada en eventos.
Para que funcione, activá el editor de Visual Basic (presiona Alt+F11) y en el panel de la izquierda buscá la hoja donde queres que esto ocurra. Da doble click sobre ella. (Otra forma de llegar a este punto es hacer click derecho sobre la solapa de esta hoja y elegir la opción "Ver Código)
Allí pegá el siguiente código:
Private Sub Worksheet_Change(ByVal Target As Range)
'---- Variables modificables ----
'=== PABLO, modifica estos datos de acuerdo a tu proyecto:
IniCelda = "C3" ' Primer celda donde tomar
LimInferior = 0 'dato para comparar el valor en la celda de la columna C
LimSuperior = 5 'dato para comparar el valor en la celda de la columna C
TopeMenor = 0.7 'dato para comparar el valor en la celda de la columna E si en C es menor que 5
TopeIgual = 0.66 'dato para comparar el valor en la celda de la columna E si es igual a 5
CadaLineas = 20 'Distancia entre celdas a colorear
CantCeldas = 7 ' cantidad de celda a colorear
DesvCol = 2 ' columnas a la derecha de la referencia (o sea la columna E)
ColorCelda = 20 ' código de color a dar a las celdas
'---- fin Variables
'
'---- inicio de rutina:
'
ColTarget = Target.Column
ColContr = Range(IniCelda).Column
If ColContr = ColTarget Then
If Target.Offset(0, 0).Value > LimInferior And Target.Offset(0, 0).Value < LimSuperior Then
Tope = TopeMenor
ElseIf Target.Offset(0, 0).Value = LimSuperior Then
Tope = TopeIgual
Else
Tope = 1
End If
For LaFila = 0 To CantCeldas
With Target.Offset(LaFila * CadaLineas, DesvCol)
If Tope = 1 Then
.Interior.ColorIndex = 0
Else
If .Value < Tope Then
.Interior.ColorIndex = ColorCelda
Else
.Interior.ColorIndex = 0
End If
End If
End With
Next
End If
End Sub
Como verás, hay algunas variables al principio del código que orientan a la rutina a ver donde actuar y los límites a considerar. Al lado de cada una de ellas está una explicación.
Esta es una rutina automática que funciona cada vez que se ingrese un dato en la columna C.