Colorear una autoforma en excel según el formato de una celda con formato condicional

Tengo un código para colorear una autoforma según el formato de una celda pero no me funciona cuando esa celda tiene formato condicional. Adjunto código usado:

Sheets("Resultados").Select

ActiveSheet.Unprotect

ActiveSheet.Shapes("Rechteck 25").Fill.ForeColor.SchemeColor = _
Range("AE15").Interior.ColorIndex + 7

ActiveSheet.Shapes("Rechteck 25").TextFrame.Characters.Text = _
Range("AE15")

Alguien sabría como modificar el código para que me funcionará con el formato condicional.

1 respuesta

Respuesta
1

H o l a:

Te explico, cuando una celda tiene color de formato condicional, realmente el color no está en la celda, es por eso que no puedes tomar el color de la celda.

Lo que se hace en estos casos, es tomar la misma condición que tienes en tu formato condicional y aplicarla en la macro.

Es decir, si en el formato condicional tienes una fórmula:

Si la celda $D$1 = vacío, entonces que ponga el color Verde, por ejemplo:

En la macro tendrías que poner, la condición, si la celda D1 = "" entonces poner el color en la forma y tomar el texto:

If ActiveSheet.Range("D1") = "" Then
    ActiveSheet.Shapes("Rechteck 25").Fill.ForeColor.RGB = RGB(0, 255, 0)
    ActiveSheet.Shapes("Rechteck 25").TextFrame.Characters.Text = Range("AE15")
End If

Pero esta condición que estoy poniendo D1 = "", es un ejemplo, tienes que poner la que tienes en tu formato condicional.


Si necesitas ayuda para poner la condición en tu código, pon una imagen de la fórmula o del formato condicional que tengas en la celda AE15


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas