VBA. Adjudicar a cada celda que contenga el nombre de la imagen

En la columna A, a partir de A2 un rango variable con celdas que contienen nombres, que corresponden a archivos de imagen en una carpeta en la misma ruta que el libro, ¿cómo insertar la imagen en cada celda?

1 respuesta

Respuesta
1

En primer lugar debo comentarte que las imágenes no quedan en la celda sino como objetos encima de ellas.

Por lo tanto la imagen se adapta al tamaño de la celda o la celda al tamaño de la imagen... comentame si ya están dimensionadas tal como las necesitas ver en la hoja o hay que ajustarlas al tamaño de las celdas.

Luego, para la macro, faltaría confirmar si los nombres contienen también la extensión. Sino debiera saber cuál es la extensión de todos los archivos de imagen.

Quedo atenta a tus aclaraciones.

Hola Elsa, que tal? Gracias por tu tiempo y conociminetos. La celda ya esta dimensionada al tamaño de la imagen. La altura es 60 por 40 de ancho.

En el rango de celdas de la columna A de a2 en adelante, sólo esta el nombre, no está la extenxión que es ".jpg"

Saludos.

Esta sería la macro (*). Entra al Editor, Insertar módulo y allí la pegas.

Sub buscaimagen()
' x Elsamatilde
'EJEMPLO hoja Img3..... Insertar una lista de imágenes a partir de cierta posición
mifila = 2
'recorre la col que tiene las direcciones de los archivos y los ubica
ruta = ThisWorkbook.Path & "\"
'se recorre la col A hasta encontrar celda vacía
While Cells(mifila, 1) <> ""
    archi = ruta & Cells(mifila, 1) & ".jpg"
    On Error GoTo sinImagen
    ActiveSheet.Pictures.Insert(archi).Select
    'las dimensiones son las de la celda activa
    Selection.ShapeRange.Left = Range("A" & mifila).Left
    Selection.ShapeRange.Top = Range("A" & mifila).Top
    Selection.ShapeRange.LockAspectRatio = msoFalse   'NO mantiene proporción
    Selection.ShapeRange.Width = Range("A" & mifila).Width
    Selection.ShapeRange.Height = Range("A" & mifila).Height
    'pasa a fila siguiente
    mifila = mifila + 1
Wend
Cells(mifila, 1).Select
MsgBox "Fin del proceso"
Exit Sub
sinImagen:
MsgBox "Se presentó un problema con la ruta o nombre de archivo", , "ERROR"
End Sub

(*) Adaptación de macro desarrollada en Guía Temática N° 5: imágenes en Excel.

Perdón por la tardanza Elsa, pero he estado sin PC hasta ahora y desde el móvil no podía verificarlo.

Simplemente Genial. Muchísimas Gracias, feliz Navidad, felices fiestas y feliz año!!

Que sea un muy buen año para todos!

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas