Macro tomando datos desde distintas hojas

Buenos días,
¿Alguien sabría decirme como puedo pintar una autoforma que se encuentra en la hoja 1 según el numero de una celda que se encuentra en la hoja 2 de un libro de excel?
Gracias
Respuesta
1
A ver ayudame aclarándome un poco, en tu hoja 1 tienes una autoforma y quieres colorear el fondo en función del valor de una celda que esta en la hoja 2 y que evidentemente se corresponderá con un color.
>Un saludo
>Julio
Para ir adelantando te pongo la macro que hace lo que creo que quieres:
Sub Macro1()
Sheets("Hoja1").Select
ActiveSheet.Shapes("AutoShape 1").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = _ Worksheets("Hoja2").Range("C10").Value
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
End Sub
El valor lo he puesto en C10 de la hoja2 y he puesto 12 que es azul, el 10 rojo...
>Un saludo
>Julio
¿Y cuándo tienes más de una autoforma y más de eun color en la hoja 2?
La macro y ves la diferencia:
Sub Colorear_Autoformas()
ActiveSheet.Shapes("AutoShape 1").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = _ Worksheets("Hoja2").Range("C10").Value
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
ActiveSheet.Shapes("AutoShape 2").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor =  _ Worksheets("Hoja2").Range("C11").Value
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
ActiveSheet.Shapes("AutoShape 3").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor =_ Worksheets("Hoja2").Range("C12").Value
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
End Sub
Cada Autoforma(AutoShape) las numera la macro 1,2,3...
Y el color lo pones de la celda que quieras como te dije 10=rojo, 12=azul, 13=amarillo... pones este valor en la celda de la otra hoja y lo coges de ella en C10 hay un 10, en C11 hay un 12, en C13 hay un 13
>Si lo has solucionado puntúa y finaliza la pregunta
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas