Macro para asignar imagen a una celda según su nombre

Tengo una carpeta con 484 imágenes, deseo asignarle la imagen a la celda que tiene el mismo nombre, ejemplo: si la celda A1, tiene BOTARGA DEL MUNDIAL, me traiga en B1 la imagen que tiene ese nombre y asi sucesivamente con las demás y si se puede que la imagen, tenga las medidas 3.57 cm de altura y 1.91 cm de ancho, tengo excel 2010

En espera de su amable respuesta

1 respuesta

Respuesta
1

Con la siguiente macro pones las imágenes.

Sub insertarimagen()
'Por.DAM
On Error Resume Next
ruta = ActiveWorkbook.Path & "\"
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
 imagen = Cells(i, "A")
 Set img = ActiveSheet.Pictures.Insert(ruta & imagen)
 With Cells(i, 2)
 Arr = .Top
 Izq = .Left
 Anc = .Offset(0, 1).Left - .Left
 Alt = .Offset(1, 0).Top - .Top
 End With
 With img
 '.Name = numimg
 .ShapeRange.LockAspectRatio = msoFalse
 .Top = Arr
 .Left = Izq
 .Width = Anc
 .Height = Alt
 End With
 Set img = Nothing
Next
End Sub

Pon el archivo con esta macro en la misma carpeta en donde tienes las imágenes.

Las imágenes se van a poner dentro de la celda B1, B2, etc.

El alto y ancho de las celdas no se miden en centímetros, se mide en puntos o en pixeles.

Para el alto, 1 punto equivale a .035 cm, por lo que si quieres que de alto tenga 3.57cm, deberás poner tus filas a 102 puntos de alto.

Para el ancho, 1 punto equivale a .1918 cm, por lo que si quieres que de ancho tenga 1.91 cm, deberás poner la columna B en 9.9 puntos

Hola experto, comento lo sucedido, el archivo lo pase a la misma carpeta donde están las imágenes, cuando la ejecute no pasaba nada, probé cambiando, esta línea: cambiando A, por B

IMAGEN = Cells(i, "B")

Y me trajo un cuadro de imagen con error en cada celda, con el mensaje "No se puede mostrar la imagen vinculada, puede que se haya movido", cual cree que sea el problema?

Saludos Cordiales

No modifiques la macro.

La macro funciona así:

En la columna A desde la fila 1 tienes que poner los nombres de las imágenes.

El nombre de la imagen deberá tener la extensión por ejemplo

A B

1 foto1.jpg

2 imagen3.gif

3 figura.bmp

Después de la ejecución la macro te pone la imagen de cada nombre en la columna B

Prueba y me comentas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas