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
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"
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.
- Compartir respuesta