Excel Avanzado

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

Excel Avanzado
Logo Excel Avanzado

Frases e imágenes de Karma

| 0 comments

El archivo con la codificación lo adjunto a continuación: Generador Frases Karma

Primero se deben de tener las frases ya listas, en este caso, he seleccionado 60 frases referidas al Karma, además de seleccionar 10 imágenes y dejarlas guardadas previamente en un carpeta que acompañe a la dirección donde se esta guardando el Excel con las macros, enumeradas cada una del 1 al 10 (ya que después la selección aleatoria se hará entre el rango del 1 al 10).

La programación se comenzará añadiendo  un botón de comando cuya función principal será lanzar la macro o formulario en este caso:

Para que este botón de comando ejecute o muestre el formulario se escribe lo siguiente:

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Una vez que diseñamos la distribución del formulario con el Label (para que salga el texto o “frase” como valores) y la Imagen (que se cambiará aleatoriamente)  insertamos un nuevo CommandButton

Ahora viene la codificación del formulario:

  1. Designamos tres variables como Integer(Entero):  ult (de la ultima fila), a y b (numeros aleatorios)
    Dim ult As Integer, a As Integer, b As Integer
  2. Utilizamos el codigo de la última fila:
    ult = Worksheets(“Hoja1”).Cells(Rows.Count, 1).End(xlUp).Row
  3. Definimos que a y b nos arroje un numero aleatorio entre los limites de las 60 frases y las 10 imagenes.
    a = WorksheetFunction.RandBetween(2, ult)
    b = WorksheetFunction.RandBetween(1, 10)
  4. Y asiganamos la dirección, path o ruta en donde se encontraran las imagenes:
    directorio = ActiveWorkbook.Path & “\imageneskarma\” & b & “.jpg”
  5. Finalmente ordenamos que el Label muestre el valor de la celda aleatoria y el de una imagen , ademas de aplicarle un ajuste de tamaño:
    UserForm1.Label1.Caption = Worksheets(“Hoja1”).Cells(a, 1).Value
    UserForm1.Image1.Picture = LoadPicture(directorio)
    UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch

Muchas gracias.

Por: Fausto Moya

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5