Macro o fórmula de formato condicional! Urgente

Necesito una macro o
Formato condicional para colorear una columna de datos condicionada a
un valor inicial y final de otras 2 columnas.
Ejemplo:
A1 B1 C1

1 Consecutivo inicio Fin
2 1 2 4
3 2 6 7
4 3 9 9
5 4
6 5
7 6
8 7
9 8

10 9

11 10

Tal que las columnas B1 y C1, me determinen los rangos a sombrear en la columna A1 que para el ejemplo anterior el primer rango es 2-4, entonces se sombrean los valores comprendidos entre 2 y 4 (negrita para este ejemplo). Espero su ayuda que llevo un largo rato intentando y nada.

1 respuesta

Respuesta
1

Te mando la solución: Sombrea todos los números de la columna A y después introduce un formato condicional en su opción de fórmula y escribe lo siguiente:

=Y(A1>=$B$1;A1<=$C$1) ------->después elige un color y pulsa aceptar

Con esto hemos construido la primera condición (entre 2 y 4)

Segundo criterio: (con los números de la columna A sombreados)

=Y(A1>=$B$2;A1<=$C$2) ------->después elige un color y pulsa aceptar

Tercer criterio: (con los números de la columna A sombreados)

=Y(A1>=$B$3;A1<=$C$3) ------->después elige un color y pulsa aceptar

En total 3 formatos condicionales funcionando

Recuerda finalizar y puntuar

Muchas gracias por tu pronta respuesta,

En el ejemplo puse sólo 3 condiciones por que es escala de lo que necesito que es un consecutivo de 60.000 valores en la columna A y aprox 200 rangos, para ello aplica el mismo procedimiento?

Asi es, es el mismo procedimiento

No seria muy tedioso de hacer, si tengo más rangos y no solo tres en B5-C5, B6-C6, B7-C7,... hasta 200, tengo que escribir 200 veces =Y(A1>=$B$3;A1<=$C$3), luego con 4,5,6,7,8 y asi sucesivamente o puedo utilizar una condición o macro que sea asi por el estilo =Y(A1>=B:B;A1<=C:C).......?

Para hacerlo con formato condicional tienes que hacerlo a mano, pero también podemos hacer un proceso automático con macro.

Me ayudas con esa macro?

Claro, para ese mismo ejemplo, ejecuta esta macro y todo listo !. La macro te hará los formatos condicionales de forma automática con el número de condiciones que tengas escritas en las columnas B y C. Puedes modificar la línea donde dice range("a1:a11") por otro rango más grande.

Sub formatos()
'Por Luismondelo
Range("b1").Select
c = 3
Do While ActiveCell.Value <> ""
ubica = ActiveCell.Address
 Range("a1:a11").FormatConditions.Add Type:=xlExpression, Formula1:= _
 "=Y(A1>=" & ActiveCell.Value & ";A1<=" & ActiveCell.Offset(0, 1) & ")"
 Range("a1:a11").FormatConditions(Range("a1:a11").FormatConditions.Count).SetFirstPriority
 With Range("a1:a11").FormatConditions(1).Interior
 .PatternColorIndex = xlAutomatic
 .ColorIndex = c
 .TintAndShade = 0
 End With
 Range("a1:a11").FormatConditions(1).StopIfTrue = False
c = c + 1
Range(ubica).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub

recuerda finalizar y puntuar

Hola, al momento de correr la macro el rango donde lee la numeración es la última columna de la hoja XFD1 y XFD1048576, y las celdas que se pintan si son A1:A11, todo debería ser en A1:A11

Entonces la segunda línea de la macro donde dice: Range("b1").Select en realidad tiene que ser: Range("xfd1").Select

No, se sombrea de amarillo

Range("a1:a11").FormatConditions.Add Type:=xlExpression, Formula1:= _
"=Y(A1>=" & ActiveCell.Value & ";A1<=" & ActiveCell.Offset(0, 1)

Mira......como me enviaste por primera vez la macro no cumple con lo siguientes puntos

1.Las celdas que se deben pintar son A1:A11, de acuerdo al los datos escritos en la celda A1:A11

2. Las celdas a pintarse son las que deben estar comprendidas entre los rangos las columnas B y C, en la macro sólo se cumple el primer rango, el segundo si es 4-5 se pinta 5-6

Estoy tratando de modificarle argumentos a la macro pero no logro dar con la solución espero que me puedas ayudar. gracias

En el siguiente link te mando un video para demostrar que la macro funciona.

http://es.tbox.ws/29x8ub

Luis te agradezco tu efectividad y respuestas a tiempo, me funcionó muchas gracias

Esa necesidad es para reportarle a un cliente de un listado de códigos de premios que van impresos en etiquetas cuales salieron no conformes del proceso de impresión, solo que son aprox 60.000 códigos.

Mucha suerte!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas