Vincular un Combobox1 a una Image1 en Excel 2013

Sres. Buen día.

Me pueden comentar como puedo vincular un combobox1 a una Image1 para que al seleccionar dentro de una lista de artículos en el Combobox me aparezca la imagen respectiva en una Image1. Todo esto aparecería dentro de un Userform en Excel 2013.

1 respuesta

Respuesta
1

Supongo que tienes en el combo los nombres de la imágenes. Pon lo siguiente en tu formulario.

Cambia "jpg" por la extensión del archivo, o si en el combo ya cargaste el nombre con todo y extensión, entonces quita esta parte: & ".jpg"

Cambia ruta = ThisWorkbook.Path, por la ruta en donde tienes los archivos con las imágenes.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ruta = ThisWorkbook.Path
    imagen = ComboBox1.List(ComboBox1.ListIndex) & ".jpg"
    Image1.Picture = LoadPicture(ruta & "\" & imagen)
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Estimado Dante buen día.

Te agradesco tu pronta respuesta.

Ya estuve viendo y aplicándola pero me marca un error.

Las imágenes las tengo en una carpeta denominada Aves Medicamentos y me queda así según te entendí:

Private Sub ComboBox1_Change()
    ruta = ("C:\Users\Usuario\Desktop\JABello\Excel\Aves Medicamentos\")
    imagen = ComboBox1.List(ComboBox1.ListIndex) & ".jpg"
    Image4.Picture = LoadPicture(ruta & "\" & imagen)
End Sub

Me marco un error en la línea que dice Image4.Picture.

Me puedes iluminar por favor.

Gracias.

¿Y qué error te aparece?

Tienes que revisar que los nombres que tienes en el combo sean iguales a los que tienes en la carpeta.

También revisa que los archivos tenga extensión jpg, puede ser que tengan jpeg

También puedes cambiar esta línea

imagen = ComboBox1.List(ComboBox1.ListIndex) & ".jpg"

Por esta:

magen = ComboBox1 & ".jpg"

Perdón tiene que ser así:

imagen = ComboBox1 & ".jpg"

Revisa lo de los nombres de archivo

Estimado Dante.

Te agradezco tu respuesta. ya cambio el estatus y apareció la imagen, para algunos artículos no cuento con fotografía y me marco un error pero colocando el resto de las fotografías con el de la base de datos ya se liberara este error, sin embargo para los materiales que no se tenga fotografía porque ya el producto este de baja y no me ocasione error deberé colocar el msg que no se tiene dibujo del mismo verdad. 

Así quedaría la macro para validar si existe la imagen

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ruta = "C:\Users\Usuario\Desktop\JABello\Excel\Aves Medicamentos\"
    imagen = ComboBox1 & ".jpg"
    If Dir(ruta & imagen) <> "" Then
        Image4.Picture = LoadPicture(ruta & imagen)
    Else
        MsgBox "No se tiene imagen"
    End If
End Sub

Dante buen día.

Deseo manipularlo de otra forma.

Al inicio cuando selecciono el material, aparece primero el dibujo automáticamente y al darle con el tabulador me da la descripción del material.

Además le agrego que si no tiene foto, me aparece un error por depurar.

Lo que se me ocurrió fue que le agregara un Listbox en el cual al seleccionar un artículo, hay aparezca de nueva cuenta el número de parte seleccionado y creí que al cambiar también la instrucción aparecería el dibujo pero no fue así.

Que puedo hacer, creo no estoy razonando el tema:

Private Sub ListBox10_Click()
    ruta = ("C:\Users\Usuario\Desktop\JABello\Excel\Aves Medicamentos\")
    imagen = ListBox10 & ".jpg"
    Image4.Picture = LoadPicture(ruta & "\" & imagen)
End Sub

Agradeceré tus comentarios y correcciones al tema.

De antemano Gracias.

Es probable que tengas error, porque estás poniendo 2 veces la diagonal \

Medicamentos\"

ruta & "\" & imagen

Tienes que quitar una, por ejemplo

Medicamentos\"

ruta & imagen

Ah ok, ya probé dentro del Combobox la programación y no tengo ningún problema.

Lo cambie al ListBox pero no me aparece la imagen como me lo imagine cambiando así la instrucción:

Private Sub ListBox10_Click()
    ruta = "C:\Users\Usuario\Desktop\JABello\Excel\Aves Medicamentos\"
    imagen = ListBox10 & ".jpg"
    If Dir(ruta & imagen) <> "" Then
        Image4.Picture = LoadPicture(ruta & imagen)
    Else
        MsgBox "No se tiene imagen"
    End If
End Sub

Crees que deba cambiar algo en la instrucción de Private Sub ListBox10_Click() para que aparezcan las imágenes o estoy no razonando la instrucción correctamente.

Espero tus comentarios Master.

SLDS

¿Y te envía un mensaje de error?

Después de esta línea

imagen = ListBox10 & ".jpg"

Pon esto:

msgbox imagen

Para ver qué es lo que tienes en la variable imagen

Hola que tal, Dante.

Ya estuve corriendo la instrucción pero aún no me aparece nada de imagen al seleccionar el material y al moverlo con el Tabulador debería aparecer la imagen y la información del producto.

La información si aparece y por lógica tendría que aparecer el dibujo.

Deje así la instrucción.

Private Sub ListBox10_Click()
    ruta = "C:\Users\Usuario\Desktop\JABello\Excel\Aves Medicamentos\"
    imagen = ListBox10 & ".jpg"
    If Dir(ruta & imagen) <> "" Then
    Image4.Picture = LoadPicture(ruta & Image)
    Else
    MsgBox "No se tiene Vista Previa"
End If
End Sub

En Image4.Picture=, al revidar me aparece =Noting

Ahora también detecte algo también, al dejarlo como originalmente se desarrollo y dejarlo como Combobox si funciona pero si me indica un producto que no tiene imagen, permanece la imagen anterior.

Después de esta línea

imagen = ListBox10 & ".jpg"

Pon esto:

msgbox imagen

Para ver qué es lo que tienes en la variable imagen

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas