lunes, 14 de enero de 2013

INDICAR.CELDA: Identificar celdas con color de fondo.

Hoy dedicaremos nuestro tiempo a profundizar un poco más en el mundo de las macrofunciones (de las que ya hablamos en alguna entrada anterior ver1 o ver2).
En aquellas entradas se explicaba de donde procedian estas macrofunciones de Excel 4.0 y cómo había que trabajar con ellas, aunque aquí repetiremos los pasos.

En la entrada de hoy daremos solución a un problema recurrente aún en nuestros días que consiste en identificar que celdas tienen asignado un color de fondo.
Sabemos que en las últimas versiones de Excel es posible trabajar, mediante Filtros u Ordenaciones, con celdas que tengan color de fondo (o de fuente), pero estrictamente hablando no podríamos incluir esta característica como condición de una fórmula.


La macrofunción que determina el color de fondo de una celda es INDICAR.CELDA(63;ref).
Nuestros pasos para trabajar con ésta consisten pues en Crear un Nombre definido, al que llamaremos 'relleno' y al que asignaremos el editable Se refiere a: con la fórmula:
=INDICAR.CELDA(63;Hoja1!$A1)+AHORA()*0
recordemos que añadimos el sumando AHORA()*0 para que actualice su valor al refrescar la hoja. Igualmente importante es generar el nombre definido con la celda A1 seleccionada!!!.

INDICAR.CELDA: Identificar celdas con color de fondo.


Esta macrofunción identifica el color de la celda indicada. Podemos verlo en la imagen:

INDICAR.CELDA: Identificar celdas con color de fondo.


Como vemos para ejecutar nuestra función personal 'relleno', la introducimos seguida de un igual '=relleno'.

El siguiente paso para identificar de alguna manera si nuestras celdas tienen o no color de fondo es bien sencillo, ya que bastará con anidar la macrofunción en un condicional SI:
=SI(relleno;"fondo";"blanco")

INDICAR.CELDA: Identificar celdas con color de fondo.


Obteniendo información sencilla de si la celda tiene o no color de fondo.
Igualmente podríamos haber generado una única macrofunción, combinandolo todo en el Nombre definido:
=SI(INDICAR.CELDA(63;Hoja1!$A1)+AHORA()*0;"fondo";"blanco")

INDICAR.CELDA: Identificar celdas con color de fondo.


Si trabajamos con Excel 2007 o 2010 deberemos guardar nuestro libro de trabajo como Libro habilitado para macros (.xlsm).

8 comentarios:

  1. Hola: fijate que tengo un problema, cuando pongo formato condicional a las celdas para que de un relleno a la celda, no me reconoce con la formula que me das, que estoy haciendo mal, en formato condicional en valor de celda si a1=b1 , formato doy color que quiero, y despues acepto y aplico, pero despues no me considera el color de la celda.
    gracias por tu respuesta
    Rene

    ResponderEliminar
    Respuestas
    1. el formato condicional si me pone el color en celda pero la formula me da que es blanco.
      Saludos Rene

      Eliminar
    2. Hola René,
      has probado a Actualizar la hoja??, presiona la tecla de función F9.
      Ya me cuentas.
      Slds

      Eliminar
    3. ya presione la tecla y sigue igual, pero si relleno una celda si reconoce, sera por el formato condicional que no reconoce?
      Rene.

      Eliminar
    4. Hola Rene,
      pues lo he estado probando, con diferentes índices en la fórmula INDICAR.CELDA, y efectivamente, por el motivo que sea, no reconoce el formato condicional.
      Un saludo

      Eliminar
    5. Hola, tengo el mismo problema de los colores colocados con formato condicional....no sé si encontraron alguna respuesta al problema? Gracias!

      Eliminar
    6. Excelente muchísimas gracias !!

      Eliminar