Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Frases de Enamorados

| 1 comentario

A continuación te brindaremos un ejemplo en el cual se ha utilizado la opción formulario. El ejemplo cuenta con una base de 50 frases para dedicar a tu pareja y 14 imágenes anexas, las cuales gracias a la opción de formulario se mostrarán aleatoriamente.

Frases de Enamorados

Descargar archivo completo de ejemplo : Frases de Enamorados

Se realizaron los siguiente pasos:

  1. Se seleccionó 50 frases de enamorados, las cuales se ubican en la hoja 2 desde la celda A2 a la celda A21 (Rango a Utilizar).
  2. Se insertó un Formulario en VBA (UserForm1)
  3. Se insertó un Label (Aparezcan las Frases) e Image (Aparezcan las Imágenes).
  4. Se insertó un CommandButton que tiene de contenido "¡Sorprende a Tu Pareja!" (Caption). El cual tiene la opción de que cuando se haga click sobre él se realize la aleatoriedad.
  5. Se diseñó el formulario a gusto, acomodando todos las herramientas a preferencia.
  6. En la Hoja 1 se insertó un CommandButton con el Nombre "Frases de Enamorados".
  7. Se escriben los códigos para que se pueda utilizar según lo mencionado al inicio.

A continuación el código VBA utilizado:

  • Show: Muestra el Userform1 cuando se haga click en el CommandButton "Frases de Enamorados".
  • WorsheetFunction.RandBetwee: Para la aleatoriedad
  • Se brindo valores a algunas letras.
  • Se seleccionó el lugar de donde saldrán las imágenes.

Private Sub CommandButton1_Click()
Dim ult As Integer, a As Integer, b As Integer

ult = Worksheets("Hoja2").Cells(Rows.Count, 1).End(xlUp).Row
a = WorksheetFunction.RandBetween(2, ult)
b = WorksheetFunction.RandBetween(1, 14)

UserForm1.Label1.Caption = Worksheets("Hoja2").Cells(a, 1).Value

ruta = ActiveWorkbook.Path & "\carpetadeimagen\" & b & ".jpg"
UserForm1.Image1.Picture = LoadPicture(ruta)
UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch

End Sub

Espero les guste mi presentación.

Anthony Chu Tejada

Un comentario

  1. Hola, Me podrias explicar como cambiar el nombre de los botones?

Deja una respuesta

Los campos requeridos estan marcados con *.