Excel - Averiguar color de celda

   
Vista:

Averiguar color de celda

Publicado por José (39 intervenciones) el 07/01/2012 01:30:16
Hola,
mi problema es el siguiente: tengo una hoja en un libro Excel que contiene datos y celdas con colores (color de fondo). Desea averiguar desde un módulo VBA cual es el color que tiene una cierta celdo
ej. la celda C1 tiene el color verde. yo deseo que desde una funcion VBA me ponga el color del fondo de esta celda en la celda J1.
Gracias por su pronta respuesta.
Un saludo
José
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Averiguar color de celda

Publicado por Abraham Valencia (2418 intervenciones) el 09/01/2012 03:16:55
No olvides que el nombre del color, lo debes obtener TU creando alguna tabla que los relacione con el numero. Un ejemplo bastante simple de funcion:

Function Colorfondo(Rng As Range) As Long

Dim Valor As Long

Application.Volatile True

Let Valor = Rng.Interior.ColorIndex
Let Colorfondo = Valor

End Function

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Averiguar color de celda

Publicado por José (39 intervenciones) el 09/01/2012 13:00:10
Hola Abraham,
gracias por tu respuesta. Me ha sido útil.
Un saludo
José
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Averiguar color de celda

Publicado por José (39 intervenciones) el 16/01/2012 18:18:12
Hola,
me surge el problema siguiente:
con lo indicado puedo obtener el color de la celda pero esto no funciona si la celda tiene un color condicional. En este caso siempre me da el valor del color blanco.
Tendrias alguna otra idea.
Un saludo.
José
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

Averiguar color de celda

Publicado por JuanC juanc2942@gmail.com (1054 intervenciones) el 19/02/2012 12:22:31
en el caso del formato condicional el color está sujeto a cada condición establecida

ej: obtiene el Color de la i-ésima condición establecida

color = Rng.FormatConditions(i).Interior.ColorIndex

para tu caso sería conveniente aplicar las mismas condiciones en el código VBA
que las que aplicás en el formato condicional

ej:
If Rng.Value = 1 Then
Color = 2
Else
Color = 4
End If

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar