En esta ocasión haciendo uso una vez más de la interfaz de usuario, he creado un formulario que aleatoriamente muestre una frase y una imagen de un banco con 20 frases diferentes y 10 imágenes distintas.
Descargar archivo con el ejemplo de: Frases para el Día de la Madre
Pasos a seguir:
- Seleccionamos las frases de nuestro interés, en este caso frases para el día de la madre.
- Ubicamos en cada celda de una hoja del libro a trabajar, en este caso "Hoja2", cada frase. Yo use el rango de celdas A2:A21 (este será el banco del cual obtendremos las frases)
- Abrimos VBA e insertamos un Formulario, UserForm1 por defecto.
- Del cuadro de herramientas inserte un Label e Image para que ahí aparezcan la frase e imagen aleatoria respectivamente. Además inserte un CommandButton, al cual le di "¡Sorprende a mamá!" como caption , para cada que se haga clic en el mismo se realice el juego aleatorio de frase e imagen.
- Luego diseñe el formulario, este paso es libre, se acomodan las diferentes herramientas previamente insertadas a preferencia del usuario. Además, se puede cambiar las propiedades de cada herramienta añadida; por ejemplo, yo cambie el tipo y tamaño de letra del Label al igual que del CommandButton; también añadí una imagen en el extremo izquierdo inferior a modo de decoración.
- Inserte a la Hoja1 un CommandButton al cual le di "Frases para el día de la madre" como caption
- Se procede a escribir los códigos en VBA que harán posible la magia.
(Para mayor visualización de la imagen, hacer click en la misma)
En los códigos empleé funciones diferentes como Show, para mostrar el UserForm1 cada que se haga clic en "Frases para el día de la madre"; también utilicé WorsheetFunction.RandBetween para obtener números aleatorios.
A continuación, adjunto el archivo para que puedan ver el código que empleé en VBA : Frases para el Día de la Madre
Se darán cuenta que no es nada complicado hacer un formulario de este tipo, cuyo propósito es generar diferentes opciones (imágenes, texto, etc.) de manera aleatoria con tan solo un clic.
Como recomendación diría que tengan cuidado de que el archivo Excel tenga la misma dirección que la carpeta con imágenes (banco de imágenes) para emplear el comando que yo utilice en el código.