Hola como puedo mediante una macro seleccionar una celda resultado de una formula en excel

Estoy haciendo una macro que me reconoce el numero menor al mayor en una lista de 12 números, usando la función Small, pero adicional quiero que el primer numero que encuentre como 1, 2 y 3 , las celdas sean rellenadas de rojo, los números 4,5,y 6 de verde etc. Alguien me puede ayudar a hacer estos???

se los agradeceré mucho

1 respuesta

Respuesta
1

Eso lo puedes hacer con Formato Condicional

1) Seleccionas la columna que contiene los datos que necesitas coloreas, vas a Inicio y das click sobre Formato Condicional

2) Das click sobre nueva regla y eliges "Utilice una fórmula que determine las celdas para aplicar formato"

3) En la parte de abaja te permite escribir una formula y escribes lo siguiente yo estoy asumiendo que los datos que seleccionaste en el punto uno fue la columna A:

A1<4

4) Das click en formato y eliges el color el estilo de letra lo que quieres que haga con el formato de la celda que es menor a "4", para tu caso que sean iguales a 1,2,3.

5) Para el siguiente caso haces los mismo, y solo cambias la formula A1<7.

Para que funcione deber seguir el orden que funciones, ya que el formato condicional cumple primero la primera regla que tengas, es decir, si te fijas en la segunda formula, debería también pintar las celdas que tienen valor de 1,2 y 3. Pero como tienes primero otro condición, el formato respeta el orden.

no se como agregar el formato condicional en la macro?? quise grabarla usando el formato condicional del menú inicio pero no me deja grabar ??? como lo puedo hacer.

No necesitas incluir en tus códigos el formato condicional, eso lo puedes tener grabado en tu archivo de excel, y se estará activo antes y después de correr la macro. O necesitas que solo este activo después de correr la macro.

Neecesito que este activo al correr la macro, solo que se sombreen las celdas cuando corra la macro que sombrea las celdas?

La siguiente lista de 12 números son generados con una macro aleatoriamente de una tabla de 79., quiero que las celdas que contengan los tres números mas pequeños se rellenen de rojo, los siguientes tres de verde, los tres siguientes de azul y los últimos tres amarillo. lo que se me ha complicado es que como son aleatorios no puedo predecir las direcciones de las celdas.

Hay alguna forma de obtener la dirección del resultado arrojado por una formula en la macro. o como puedo usar ese resultado para referenciarlo con una celda?

para saber el orden estoy usando en la macro que sombre la formula:

'reds = WorksheetFunction.Small(Range("L8:L19"), i)

esto me da el orden de los números pera ya no puedo sombrearlos.

Amplitud
176.0
178.0
164.0
170.0
165.0
152.0
170.0
165.0
180.0
163.0
185.0
169.0

saludos y muchas gracias por su ayuda.

De lo que entiendo tienes un listado de valores los cuales varían, no son valores fijos como al principio indicabas, en ese caso podrías utilizar en el formato condicional la formula k.esimo.menor.

Si me das un correo te puedo pasar un archivo con un ejemplo de esta funcionalidad del formato condicional

aquí va mi correo [email protected]. he intentado hacerla con el formato condicional utilizando la formpero todas las celdas se me rellenan del mismo color.

agradeceré tu ayuda.

Ok, te envié un correo de muestra.

muchas gracias, funciona excelente pero me sirve parcialmente, pero cuando se repiten los números, especialmente cuando el tercero y el cuarto, sexto y séptimo, etc me marca 4 o mas en igual de 3 solamente por color que es los que quiero que haga????

ademas hay alguna manera que corra con la macro, porque otra idea que tengo es que solo cuando yo lo pida con la macro funcione.???

saludos muchas gracias de cualquier manera

Puedes grabar una macro que bloquee y desbloquee el formato condicional, de esta manera el formato condicional solo funcionará luego de que hayas corrida la macro.

No olvides finalizar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas