Imagen en userform (la misma es variable)

Para el Sr. Dante.

Buenas tardes, siguiendo con el proyecto que estoy elaborando, vuelvo a acudir a usted para que me brinde su ayuda.

Necesito que un objeto de imagen (de nombre image1) que esta en la Hoja1 se cargue en un userform. Dicha imagen ira variando pero siempre tendrá este nombre.

2 Respuestas

Respuesta
1

Gracias profanador .Buenas noches Dante, en primer lugar agradecerle su impagable ayuda. A continuación escribo el código para obtener Image1:

Sub CreaIMG()

Dim IMG As Shape
On Error Resume Next
Range("B6:G17").Select
Selection.Copy
ActiveSheet.Shapes.Range(Array("1 Rectangle")).Select
ActiveSheet.Paste
For Each IMG In ActiveSheet.Shapes
If IMG.Type = 13 Then
IMG.Select
Selection.Name = "Image1"
Next

End Sub

Para que esto funcione la hoja debe tener un objeto de autoforma llamado "1 Rectangle"Muchas GraciasSaludos

Buenos días. Muchas gracias por su colaboración, se la hago llegar a mi compañero para que la ponga en "marcha". Haber si le resolvemos el problema. De nuevo muchas gracias.

Profanador Je je, tu compañero soy yo... Aporte el código que solicitaba Dante Amor .

Respuesta
1

H o l a:

¿Puedes poner cómo cargaste la imagen en Image1 de la hoja?

Hola

Gracias por su respuesta.

Realmente la imagen parte de la propia hoja de excel. Es una imagen generada desde excel con una tabla con el contenido de la hoja1. Aun no he hecho el código pero realmente se que se puede porque lo he hecho en otro trabajo.

Muchas Gracias

Saludos

¿Pero la imagen que está en image1 cómo llegó ahí?

Dante, este es la parte del proyecto que lleva un compañero mio, le voy a decir que cree un fichero excel y que realice el una pregunta. Para que no te estemos liando, que ya mucho ayudas. Muchas gracias, como siempre un verdadero placer la atención.

Con gusto, cuando tengas la información me la envías para revisarla.

H o l a:

Pensé que Image1 era un control ActiveX, pero viendo tu macro se refiere a una imagen tipo Picture, en fin, podrías enviarme tu archivo para entender qué es lo que quieres pasar y en dónde lo quieres poner.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “” y el título de esta pregunta.

H o l a :

Solamente para comentarte que el código que estás utilizando es el adecuado.

    Dim Izq As Single, Arr As Single, Ancho As Single, Alto As Single
    Application.DisplayAlerts = False
    NombreGrafico = ThisWorkbook.Path & Application.PathSeparator & "temp.jpg"
    With Range("D42:H52")
        Izq = .Left: Arr = .Top: Ancho = .Width: Alto = .Height: .CopyPicture
    End With
    With ActiveSheet.ChartObjects.Add(Izq, Arr, Ancho, Alto)
        .Chart.Paste
        .Chart.Export NombreGrafico
        .Delete
    End With
    Application.DisplayAlerts = True
    Image1.Picture = LoadPicture(NombreGrafico)

S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas