Visual Basic para Aplicaciones - Copiar imágenes entre hojas Excel

Life is soft - evento anual de software empresarial
 
Vista:

Copiar imágenes entre hojas Excel

Publicado por Pablo (77 intervenciones) el 22/10/2019 15:53:34
Buenas tardes,

Tengo un "banco de imágenes" en una hoja oculta Excel (porque lo quiero redistribuir con mis usuarios) y necesito copiar algunas de ellas, (en función de unos parámetros) y pasarlas a la hoja activa.

Eso no es un problema, ya que hago:

1
2
3
4
5
Sheets("Sheet1").Select
ActiveSheet.Shapes.Range(Array("Picture 3")).Select
Selection.Copy
Sheets("Caracteristicas").Select
ActiveSheet.Pictures.Paste

Quiero que la imágen se "pegue" en una determinada posición de mi hoja "Características", y ya de paso, que tenga unas medidas determinadas, lo cual con Height y Width se consigue fácil.

Mi problema es que la imagen pegada ya no se llama Picture 3 y no puedo reformatearla porque no sé como se llama.

Mi pregunta son dos en realiad:

¿Cómo puedo saber cómo se llama la imágen pegada? (ya he visto que cada vez la llama de una forma)

¿Puedo forzar a que la imágen pegada se llame como yo quiera?

Muchas gracias por vuestro tiempo.
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

Copiar imágenes entre hojas Excel

Publicado por Pablo (77 intervenciones) el 23/10/2019 16:57:53
Encontré lo que buscaba.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim name As String
name = "picture 1"
 
Sheets("Sheet2").Select
ActiveSheet.Shapes.Range(Array(name)).Select
Selection.Copy
Sheets("Sheet1").Select
ActiveSheet.Paste
With Selection
    .Top = [B7].Top
    .Left = [B7].Left
    .Width = 143.1      'esto es la anchura en puntos
    .Height = 138.6     'esto es la altura en puntos
End With
 
[A1].Select  'Para no dejar seleccionada la imágen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar