Un lector consultaba por un post publicado hace algún tiempo (ver).
El comentario del usuario era:
Lo que veremos hoy es una alternativa a lo publicado que me permite recuperar el color de un objeto Range a través de su propiedad .DisplayFormat.
Ojo!! que tiene un par de inconvenientes:
1- es una propiedad de solo lectura, por lo que no podremos modificar nuestras celdas empleando esta propiedad.
2-Únicamente se puede emplear en procedimientos Sub (y NO en Function!!), por lo que no podremos generar UDF para recuperar el color de la celda (tal como se empleaba en el post anterior comentado).
Si lo intentas comprobarás que tu UDF te devolverá siempre un error de #¡VALOR!
Con estas condiciones presentes, veamos cómo podemos recuperar el color de relleno y de la fuente de nuestras celdas.
Abrimos la ventana de código de nuestro módulo estándar y añadimos el siguiente código:
Tras ejecutarlo comprobaremos cómo nos devuelve los mismos valores que empleando la función del post publicado tiempo atrás tiempo (ver), tanto si el color proviene de un formato 'normal' o uno condicional.
El comentario del usuario era:
[...]Muchas gracias publicar esta macro, es exactamente lo que necesito , pero lamentablemente no me esta funcionando. Me arrojo siempre el mismo numero independientemente de color que que tenga la celda ,14. Estoy usando tres tipos de colores para el formato condicional Verde Rojo y amarillo[...] |
Lo que veremos hoy es una alternativa a lo publicado que me permite recuperar el color de un objeto Range a través de su propiedad .DisplayFormat.
Ojo!! que tiene un par de inconvenientes:
1- es una propiedad de solo lectura, por lo que no podremos modificar nuestras celdas empleando esta propiedad.
2-Únicamente se puede emplear en procedimientos Sub (y NO en Function!!), por lo que no podremos generar UDF para recuperar el color de la celda (tal como se empleaba en el post anterior comentado).
Si lo intentas comprobarás que tu UDF te devolverá siempre un error de #¡VALOR!
Con estas condiciones presentes, veamos cómo podemos recuperar el color de relleno y de la fuente de nuestras celdas.
Abrimos la ventana de código de nuestro módulo estándar y añadimos el siguiente código:
Sub Color_Celda() 'recorremos el rango For Each celda In Range("A2:A7") 'y recuperamos el color de relleno y fuente 'ya provenga de formato o formato condicional celda.Offset(0, 2).Value = celda.DisplayFormat.Interior.ColorIndex celda.Offset(0, 3).Value = celda.DisplayFormat.Font.ColorIndex Next celda End Sub
Tras ejecutarlo comprobaremos cómo nos devuelve los mismos valores que empleando la función del post publicado tiempo atrás tiempo (ver), tanto si el color proviene de un formato 'normal' o uno condicional.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.