Regularmente en nuestros programas en VBA tendremos que
utilizar imágenes, para tal fin tenemos el control IMAGEN.
Este control como todos los demás tienen varias propiedades,
algunas de ellas son:
NAME: Permite
asignarle un nombre a el objeto el cual nos permitirá identificarlo dentro del código.
AUTOSIZE: nos permite
ajustar la imagen al tamaño del control, dependiendo si le asignamos el valor
true o false.
BORDERSTYLE:
a esta propiedad podemos asignarle dos valores 0 sin borde 1 con borde.
PICTURE: Esta
es la propiedad más importante pues nos permite asignar la imagen al control.
Para ejemplificar el uso de la propiedad imagen escribí una
macro que nos permite asignar diferentes imágenes al control, ejemplos como este los puedes encontrar en el curso online de excel.
En la hoja de cálculo están registradas las direcciones en
el PC de cuatro imágenes
Tenemos un formulario compuesto por un control combobox( en
una entrada anterior vimos su uso) un botón de comando y el control de imagen
Llenamos el control combobox con la información de la hoja
de cálculo, para dicho fin utilizamos el siguiente código, esta rutina recibe
como parámetro el formulario:
Expliquemos un poco el código anterior, la variable WS de
tipo worksheet representa la hoja de cálculo en la cual tenemos nuestros datos,
la variable que hemos llamado final no servirá para identificar la última fila
con datos en la hoja de Excel. Después de asignar la hoja de cálculo a la
variable WS con la instrucción ( set ws _ thisworkbook.worksheets(“HOJA1”)) y
calcular la última fila con datos con la instrucción (final = ws.range(“A1”).End(xlDown).Row),
empezamos un ciclo que va desde la fila 2 hasta la fila final y durante el cual
asignamos a la propiedad additem del combobox la información que tiene la hoja
de cálculo en la fila i.
Para invocar la rutina “LLENAR_COMBO” en el código del botón
de comando agregamos este código donde el parámetro “ME” representa el formulario:
Cuando el usuario haga clic o seleccione un dato del
combobox ejecutamos el siguiente código:
Lo que hacemos con este código es invocar la rutina “mostrar_imagen” pasándole como parámetro la dirección de
imagen seleccionada y el formulario.
Este es el código que llena el control de imagen
Cargamos la imagen en el control a la propiedad picture con la instrucción LoadPicture(dirección),
asignamos true a la propiedad autosize para que la imagen se ajuste al tamaño
del control y le asignamos borde ( el valor fmBordeStyleSingle es igual a 1).
Para aprender más sobre este y otros temas visita el curso online de excel.
En este enlace encontraras una colección de mas de 20 macros que podrás descargar.
Para automatizar tus proceso en excel escríbeme a macrosymacros1@gmail.com.
Espero que esta macro te sea de utilidad, por favor deja tus
comentarios.
Buenas tardes,
ResponderEliminarDebo hacer la búsqueda de la información de ciertos productos en un formulario, pero dentro la información debo mostrar unas imágenes correspondientes a este producto. Ya logre mostrar la información de texto con el botón de buscar sobre unos text box, pero no sé cómo hacer para que aparezca también la imagen al darle al botón buscar. (Las imágenes están sobre la misma hoja de excel).
Agradezco pueda solucionarme la duda.