Macro insertar imagen dentro de forma

Necesitaría una macro que me insertara dentro de una forma ya prestablecida una imagen.

La idea es que me salte el cuadro de dialogo y que me pida que imagen quiero insertar en la forma.

Sólo va a ver una forma por hoja.

Nota.

Otra opción sería hacer que si una hoja tiene el nombre de "1" y en una carpeta especifica tengo la imagen que quiero insertar con el nombre "1" se inserte automáticamente al activar la macro!

PD. Ahora mismo yo hago este proceso manualmente, la forma me sirve para saber en que posición va la imagen, ya que me hace de referencia y me guarda la proporción, a lo mejor con la macro no hace falta la forma.

2 Respuestas

Respuesta
1

Voy a responder a la segunda opción que planteas. Es decir, que se inserte una imagen cuyo nombre coincide con el nombre de la hoja.

Aquí no necesitas el objeto 'forma'. Debes indicar en la misma macro la posición y tamaño de la imagen insertada. Podrás tomar las medidas de la forma, en la macro dejo un ejemplo.

Sub insertaImagen()
'x Elsamatilde
rutaImg = ThisWorkbook.Path & "\imagenes\"           'Indicar la ruta completa de la imagen
extension = ".png"                                   'indicar la extensión
nbreImg = rutaImg & ActiveSheet.Name & extension     'el nombre coincide con el nombre de la hoja activa
ActiveSheet.Pictures.Insert(nbreImg).Select
'establecer ubicación y tamaño de la imagen en la hoja. En este ejemplo se posiciona en celda B1
With Selection.ShapeRange
    .Left = Cells(1, 2).Left + 1        'margen izquierdo. En este ejemplo coincide con celda B1
    .Top = Cells(1, 6).Top + 1          'margen superior
    .LockAspectRatio = msoTrue          'mantiene proporción
    .Width = 155.9                      'ancho = 5,5 cm
    .Height = 113.4                     'alto = 3 cm
End With
End Sub

Como se puede observar el nombre de la imagen está compuesto por:

Ruta + nombre de la hoja activa + extensión (reemplaza los valores de las variables del ejemplo por los tuyos).

* Adaptación de la macro mostrada en el video N° 49 de mi canal: Catálogo en Excel.

Respuesta
1

Ramón, que conste que de Excel no tengo ni idea, pero lo que se dice npi. Pero por si te puede dar una idea

Tengo una carpeta con una serie de imágenes

Voy a usar la CC...

En un formulario, que en tu caso sería una hoja tengo un control imagen, de forma que al ir a un registro nuevo, que como te decía, en tu caso sería una hoja

Me voy a otro

Me voy a otro

En mi caso le digo en el evento Al activar el registro, que quizá en tu caso sea algo como activar la hoja( no lo sé) o algo como For each worksheet,( que tampoco lo sé)

Private Sub Form_Current()
Me.Imagen14.Picture = "C:\users\gonza\documentos\imagenesusar\" & "CC" & IdCliente & ".jpg" & ""
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas