Saltar al contenido

Cómo insertar una imagen en Excel en una posición de celda específica con VBA

Te doy la bienvenida a nuestra página web, en este lugar hallarás la solucíon de lo que estás buscando.

Solución:

Prueba esto:

With xlApp.ActiveSheet.Pictures.Insert(PicPath)
    With .ShapeRange
        .LockAspectRatio = msoTrue
        .Width = 75
        .Height = 100
    End With
    .Left = xlApp.ActiveSheet.Cells(i, 20).Left
    .Top = xlApp.ActiveSheet.Cells(i, 20).Top
    .Placement = 1
    .PrintObject = True
End With

Es mejor no seleccionar nada en Excel, por lo general nunca es necesario y ralentiza su código.

Mirando las respuestas publicadas, creo que este código también sería una alternativa para alguien. Nadie de arriba usó .Shapes.AddPicture en su código, solo .Pictures.Insert()

Dim myPic As Object
Dim picpath As String

picpath = "C:Usersphoto.jpg" 'example photo path

Set myPic = ws.Shapes.AddPicture(picpath, False, True, 20, 20, -1, -1)

With myPic
    .Width = 25
    .Height = 25
    .Top = xlApp.Cells(i, 20).Top 'according to variables from correct answer
    .Left = xlApp.Cells(i, 20).Left
    .LockAspectRatio = msoFalse
End With

Estoy trabajando en Excel 2013. También me di cuenta de que debe completar todos los parámetros en .AddPicture, debido al error “Argumento no opcional”. Al mirar esto, puedes preguntar por qué configuré Height y Width como -1, pero eso no importa porque esos parámetros se establecen debajo entre With soportes.

Espero que también pueda ser útil para alguien 🙂

Estuve trabajando en un sistema que se ejecutaba en una PC y Mac y estaba luchando por encontrar un código que funcionara para insertar imágenes tanto en PC como en Mac. ¡Esto funcionó para mí, así que espero que alguien más pueda usarlo!

Nota: las variables strPictureFilePath y strPictureFileName deben configurarse en rutas válidas para PC y Mac, por ejemplo.

Para PC: strPictureFilePath = “E: Dropbox ” y strPictureFileName = “TestImage.jpg” y con Mac: strPictureFilePath = “Macintosh HD: Dropbox:” y strPictureFileName = “TestImage.jpg”

Codifique como sigue:

    On Error GoTo ErrorOccured

    shtRecipeBrowser.Cells(intDestinationRecipeRowCount, 1).Select

    ActiveSheet.Pictures.Insert(Trim(strPictureFilePath & strPictureFileName)).Select

    Selection.ShapeRange.Left = shtRecipeBrowser.Cells(intDestinationRecipeRowCount, 1).Left
    Selection.ShapeRange.Top = shtRecipeBrowser.Cells(intDestinationRecipeRowCount, 1).Top + 10
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 130

Aquí tienes las comentarios y puntuaciones

Acuérdate de que te brindamos la opción de comentar si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *