Dar color a autoformas según los valores en celdas
Tengo un dibujo formado por varias autoformas denominadas FICHA A, FICHA B, FICHA C.. Etc. En la columna A tengo listados los nombres de las autoformas y en la columna B un número del 0 al 11. Quisiera al dar un click en un botón (CommandButton) que las autoformas se colorearan con según el número de la columna B. Son muchas fichas y muchos colores. En principio estaba usando lo siguiente: Private Sub CommandButton1_Click()
Dim FICHA A As Integer, FICHA B As Integer, .....
FICHA A = ActiveSheet.Range("B2").Value
FICHA B = ActiveSheet.Range("B3").Value
....... (resto de autoformas)
If FICHA A = 1 Then
ActiveSheet.Shapes("FICHA A").Select
Selection.ShapeRange.Fill.UserPicture "C:\Indicadores\1.jpg"
ElseIf FICHA A = 2 Then
ActiveSheet.Shapes("FICHA").Select
Selection.ShapeRange.Fill.UserPicture "C:\Indicadores\2.jpg"
ElseIf FICHA A = 3 Then
ActiveSheet.Shapes("FICHA A").Select
Selection.ShapeRange.Fill.UserPicture "C:\Indicadores\3.jpg"...
... Resto de colores y así repetido por cada FICHA.
¿Hay alguna forma de hacerlo más corto?. Me dice que la macro es muy grande. ¿Y hay alguna forma de que el color no lo tenga guardado en mi C sino que pueda cogerlo del propio documento excel? Es para poder enviarlo.
Dim FICHA A As Integer, FICHA B As Integer, .....
FICHA A = ActiveSheet.Range("B2").Value
FICHA B = ActiveSheet.Range("B3").Value
....... (resto de autoformas)
If FICHA A = 1 Then
ActiveSheet.Shapes("FICHA A").Select
Selection.ShapeRange.Fill.UserPicture "C:\Indicadores\1.jpg"
ElseIf FICHA A = 2 Then
ActiveSheet.Shapes("FICHA").Select
Selection.ShapeRange.Fill.UserPicture "C:\Indicadores\2.jpg"
ElseIf FICHA A = 3 Then
ActiveSheet.Shapes("FICHA A").Select
Selection.ShapeRange.Fill.UserPicture "C:\Indicadores\3.jpg"...
... Resto de colores y así repetido por cada FICHA.
¿Hay alguna forma de hacerlo más corto?. Me dice que la macro es muy grande. ¿Y hay alguna forma de que el color no lo tenga guardado en mi C sino que pueda cogerlo del propio documento excel? Es para poder enviarlo.
1 Respuesta
Respuesta de Elsa Matilde
1