Cargar imágenes

Hola amigo.
Me proporcionaron el siguiente código, que lo que hace es traer una imagen que está fuera del libro (en un directorio llamado "IMÁGENES ARTÍCULOS") a la hoja actual.
---------------------------------------------------------
Sub insertar_imagen_ST()
img = [a4] 'nombre de la imagen sin la extension
With ActiveSheet
On Error Resume Next 'si no existe salta el errro por objeto inexistente
.Shapes("copia").Delete 'si existe lo elimina
Range("C6:E7").Select 'selecciona el rango
'inserta la imagen y le asigna un nombre(en este caso 'copia'),que sera importante para el borrado posteriormente
.Pictures.Insert _
(ThisWorkbook.Path & "\IMAGENES ARTICULOS\" & img & ".bmp").Name = "copia"
.Shapes("copia").Width = 255 'ajusta el ancho de la imagen
.Shapes("copia").Height = 185 'ajusta el alto
End With
End Sub
-------------------------------------------------------------
Lo que yo desearía es poder traer varias imágenes, 4 en concreto, a esa hoja y colocarlas en diferentes sitios.
¿Qué modificaciones habría que hacer en el código?
Un saludo y Gracias anticipadas.

1 respuesta

Respuesta
1
Pues crea 4 nombres para las imágenes, al principio las eliminas (como ya haces) y a continuación primero eliges la celda donde insertarlas (la esquina superior izquierda será el punto de inserción) corriges el ancho y el alto y vuelves a elegir la siguiente celda para la siguiente imagen.
Sub insertar_imagen_ST()
img1 = [a4] 'nombre de la imagen sin la extension
img2 = [a5] 'nombre de la imagen sin la extension
img3 = [a6] 'nombre de la imagen sin la extension
img4 = [a7] 'nombre de la imagen sin la extension
With ActiveSheet
On Error Resume Next 'si no existe salta el errro por objeto inexistente
.Shapes("copia1").Delete 'si existe lo elimina
.Shapes("copia2").Delete 'si existe lo elimina
.Shapes("copia3").Delete 'si existe lo elimina
.Shapes("copia4").Delete 'si existe lo elimina
Range("C6").Select 'selecciona el rango
'inserta la imagen y le asigna un nombre(en este caso 'copia1'),que sera importante para el borrado posteriormente
.Pictures.Insert _
(ThisWorkbook.Path & "\IMAGENES ARTICULOS\" & img1 & ".bmp").Name = "copia1"
.Shapes("copia1").Width = 255 'ajusta el ancho de la imagen
.Shapes("copia1").Height = 185 'ajusta el alto
Range("E6").Select 'selecciona el rango
'inserta la imagen y le asigna un nombre(en este caso 'copia2'),que sera importante para el borrado posteriormente
.Pictures.Insert _
(ThisWorkbook.Path & "\IMAGENES ARTICULOS\" & img2 & ".bmp").Name = "copia2"
.Shapes("copia1").Width = 255 'ajusta el ancho de la imagen
.Shapes("copia1").Height = 185 'ajusta el alto
Range("H6").Select 'selecciona el rango
'inserta la imagen y le asigna un nombre(en este caso 'copia3'),que sera importante para el borrado posteriormente
.Pictures.Insert _
(ThisWorkbook.Path & "\IMAGENES ARTICULOS\" & img3 & ".bmp").Name = "copia3"
.Shapes("copia1").Width = 255 'ajusta el ancho de la imagen
.Shapes("copia1").Height = 185 'ajusta el alto
Range("K6").Select 'selecciona el rango
'inserta la imagen y le asigna un nombre(en este caso 'copia4'),que sera importante para el borrado posteriormente
.Pictures.Insert _
(ThisWorkbook.Path & "\IMAGENES ARTICULOS\" & img4 & ".bmp").Name = "copia4"
.Shapes("copia1").Width = 255 'ajusta el ancho de la imagen
.Shapes("copia1").Height = 185 'ajusta el alto
End With
End Sub
En fin si no son nada más que 4 tampoco es tanto código
>Un saludo
>Julio
PD: Si te ha servido puntúa y finaliza la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas