¿Hacer qué una celda cambie de color cada semana?.

Buenas noches:
Hola me gustaría que las celdas cambiaran de color cada semana, es para saber cuanto tiempo tarda en salir un producto a la tienda desde el almacen, así cuando ya lleve 8 semanas sacarlo.
Muchas gracias, un Saludo.

1 Respuesta

Respuesta
1
Para hacer eso necesitaremos de 3 columnas anexas para hacer los cálculos, en la primera columna pondrás la fecha de inicio, pongamos 01/12/2008 esa fecha no debes de modificarla, e la columna anexa debes de poner la fórmula =HOY() que se actualizará diariamente con la fecha del sistema, y en la columna anexa haremosla cuenta, y pondrás esta fórmula suponiendo que las celdas sean esas =SIFECHA(C10;D10;"d") significa que nos cuente los días transcurridos desde la fecha que pusimos en C10 y la que pone el sistema diariamente en D10, nos dirá los días.
Ahora hacemos una macro que diga, si la celda E10 tiene un numero igual o mayor a 7 me pones la celda B10 de color POR, la repites 8 veces aumentando los días 15,23,30,37,... 56. Eliges 8 colores y siempre que este en la semana 1 será de un color, en la semana 2 de otro... la macro es esta:
Sub Contar_Dias_Color()
'Aquí pones la celda donde se hará el calculo de los dias
Range("D10").Select
ActiveCell.FormulaR1C1 = "=DATEDIF(RC[-2],RC[-1],""d"")"
If Range("D10") >= 7 Then
'Aquí pones tu rango de productos
Range("A10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535 'Cambia la numeracion para cambiar de color
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If Range("D10") >= 14 Then
Range("A10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If Range("D10") >= 21 Then
Range("A10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 12611584
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If Range("D10") >= 28 Then
Range("A10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5287936
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If Range("D10") >= 35 Then
Range("A10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10498160
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End Sub
Yo te he puesto los bloques solo de 5 semanas, tu sigues y cambias colores, como los productos tendrán diferentes fechas, tendrás que copiar la fórmula en todas las celdas con pinchar en el cuadradito de la derecha de la parte de abajo sin soltarlo la estiras hasta el final se copia y se referencia. Lo mismo con la fecha del sistema.
Espero que te sirva.
>Un saludo
>Julio
Buenas, gracias por la ayuda y el tiempo empleado, pero a la hora de crear la macro, me da error en el código, en la linea que pongo .
TintAndShade=0
Si usted pudiera mandarme su ejemplo a mi correo, para compararlo con el mio, muchas gracias, un saludo.
Vale, ¿pues dame tu correo?
Y después me envías tu libro para ver donde esta el error
>Un saludo
>Julio
Esta es mi dirección (xxxxxx), mañana le envío mi archivo porque esta en el trabajo, muchas gracias por todo.
Ya te lo he enviado
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas