Esta vez, 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 30 frases diferentes y 7 imágenes distintas.
Descargar archivo con el ejemplo de: Frases de Cumpleaños
- Seleccionamos las frases de nuestro interés, en este caso frases de Feliz Cumpleaños.
- Ubicamos en cada celda de una hoja del libro a trabajar, en este caso “Hoja1”, cada frase. Yo use el rango de celdas A2:A32 (este será el banco del cual obtendremos las frases)
- Abrimos VBA e insertamos un Formulario, UserForm1 y UserFomr2 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 “¡Descubre la Frases de Cumpleaños!” 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 fonde a modo de decoración.
- Inserte a la Hoja1 un CommandButton al cual le di “Frases de feliz cumpleaños” como caption
- Se procede a escribir los códigos en VBA que harán esto posible.
- (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 “Bienvenido”; 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 de CumpleañosSe 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.Descarga ejemplo: Frases de Cumpleaños