Truco Excel. Función para identificar el color de una celda

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.

5 comentarios en “Truco Excel. Función para identificar el color de una celda

  1. 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

  2. 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

    1. 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.

      1. 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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *