Macro insertar Imágenes

Hola. Quería hacer una macro que me inserte imágenes que tomo de una carpeta que las tengo ordenadas de forma que el nombre de la imagen lo puedo formar a partir de dos celdas de excel.
Por ejemplo en la carpeta las imágenes son a_b.jpg siendo a y b variables que tomo de dos celdas de excel.
La macro la pensé así pero no me va
Sub Macro()
Dim a As String
Dim b As Integer
a = Worksheets("salidas").Range("b6").Value    ' es un numbre'
b = Worksheets("salidas").Range("b7").Value     ' es la numeracion de la imagen'
ActiveSheet.Pictures.Insert("C:\TRABAJO\00_macros\IMAG\JPG\FINALES\a_b.JPG") _
.Select
End Sub
¿Alguien sabe por que?

1 Respuesta

Respuesta
1
Las variables a y b deben estar fuera de las comillas para que el compilador no las considere literalmente. Prueba con:
"C:\TRABAJO\00_macros\IMAG\JPG\FINALES\" & a & "_" & cstr(b) & ".JPG"
Además, yo usaría la instrucción Shapes:
Worsheets(1). Shapes. AddPicture "C:\....JPG", true, true, 100, 100, 70, 70
Los parámetros corresponden a la altura, anchura, posición, etc, del shape (consulta la ayuda de Excel).
Ya me contarás...
Muchas gracias. Si que me funciona. Lo único es que la imagen me la inserta a partís de la esquina superior izquierda de la celda seleccionada y pruebo a cambiar _. select por una celda y me a error.
Por eso creo que me recomiendas la instrucción shapes pero es que yo quiero ponerla a partir de la esqueina superior de una celda y no se como se saca esa posición. ¿Cómo puedo saber la posición?
Muchas gracias y siento el abuso.
Los 4 últimos parámetros son: izquierda, arriba, ancho, alto, medido en puntos, desde el inicio del documento. Para posicionarlo en la columna 5, digamos, deberías medir los anchos de todas la columnas y asignar este valor al parámetro izquierda. Lo mismo para posicionarlo en la fila deseada. Puedes probar algo como:
for i=1 to columna
anchototal=anchototal+cells(i,1).ColumnWidth
next
Al usar Shapes estás trabajando conla pantalla gráfica, no puedes indicar posicionamiento de celdas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas