En alguna entrada anterior ya vimos como identificar el color de una celda con Excel. Recientemente me trasladaron una duda, se trataba de realizar una acción determinada si el color de la celda era distinto. Algo muy habitual cuando realizas alguna validación visual y marcas celdas con otro color. La solución es sencilla, se trata de crear nuestra propia función que identifique el color de la celda:
Function color_celda(celda As Range)
color_celda = celda.Interior.Color
End Function
En este caso podríamos realizar funciones del tipo =SI(color_celda(A1)<> 16777215; ACCION1; ACCION2) además podemos darle otra vuelta de tuerca y si deseamos ordenar por colores podemos hacer:
Function color_orden(celda As Range)
color_orden = celda.Interior.ColorIndex
End Function
Establecemos un orden de colores y podemos realizar más acciones. Un truco sencillo que puede ayudar a las intervenciones manuales sobre nuestros libros de Excel. Saludos.
no se entiende la letra
Hola. Querría saber si es posible en Excel repetir el color de una celda en otra celda distinta de la misma hoja, de modo que, si varío el color de la celda inicial, se cambie también en la celda distinta que seleccioné…… Gracias…. Por favor, si me respondieran a mi correo electrónico (pedroj250@hotmail.es) se lo agradecería enormemente….. Un saludo
Tenia un excel donde apliqué la función que recomendaba:
SI(color_celda(A1) 16777215; ACCION1; ACCION2)
Que funcionaba a la perfeccion al pintar manualmente la celda.
Pero al aplicar formato condicional a toda la fila,para que se pinte con diferentes colores, el resultado final es que la funcion, no reconoce eso colores y devuelve el valor como si la celda fuera =16777215.
Alguna posible respuesta?
gracias por adelantado
Hola, no se puede. El formato condicional no asigna color a la celda.
No sé si llegué a publicarlo, pero si copiamos y pegamos en Word y después de nuevo copiamos y pegamos en Excel ya tenemos los colores de la celda. Esto a mi me funcionó con las 52 provincias, por así decirlo, creé mi propio formato condicional. La tontería te sirve si estás coloreando pocos elementos.
Gracias por la respuesta, he sido capaz de conseguir otra forma para obtener lo mismo.
Pero queria entender porqué no funcionaba si(colo_celda) con colores adjudicados por el formato condicional.
Me resulta confuso entender cuando dices que el formato condicional» no asigna color a la celda».
Tu le pides,atraves del formato condicional,que de formato a una celda o celdas, coloreandolassegun unas condiciones que le presentes, pero por decirlo así és ese colorear és «virtual»?
En mi caso, al ser un excel que utilizan personas que no entienden de excel, queria automatizar a traves del formato condicional, los colores de algunas filas(que representan clientes), i de cuyo color dependen los valores a mostrarse en otras celdas.
Muchas gracias!
Hola como lo resolviera?tengo el mismo problema
Si, me parece logico que nos digas cual fue la solucion, no tan solo criticar, compartir lo aprendido es la consigna, sino para que estamos aca.
Hola, necesito ayuda con este planteamiento, quiero hacer que cuando una celda tenga un color determinado, por ejemplo verde, la celda siguiente tome el valor del numero que este en su interior. Me puedes ayudar.
Cómo sabe uno el código que tiene cada color. Porque en Excel solo te dice cuánto es el porcentaje de cada color principal (RBG) pero aquí veo que aplicaron el código de un color que no sé cuál es (16777215)
Hola, ese es el formato decimal, imagino que se podrá trabajar con RGB, pero la función ColorIndex es lo que arroja
Hola, yo quiero utilizar la funcion buscarV para extraer un valor y el color de celda de ese valor ya que es colocado manualmente. No son celdas fijas, es una tabla variable. Alguien tiene alguna sugerencia?
Te diría que lo pusieras en una celda auxiliar y que hicieras como 2 buscarV porque o buscas el valor o buscas el color
hola,
la fomula +color_celda(a1) no me funciona. Me da como resultado #nombre?. gracias