¿Cómo mostrar mensajes distintos al abrir un formulario de excel?

Necesito que me ayuden en el siguiente código:

Tengo un formulario y al momento de abrirlo me muestra un mensaje que está en la columna A de la hoja1, el mensaje lo muestra en label1 que tengo en el formulario, al iniciar el formulario muestra correctamente un mensaje; lo que no puedo conseguir es que al abrir el formulario me muestre de forma aleatoria un mensaje de los diez que tengo en la columna A de la hoja1.

El código que tengo es: en ThisWorkbook:

Private Sub Workbook_Open()
UserForm1.Show

End Sub

en el formulario:

Private Sub UserForm_Initialize()
Label1.Caption = Range("a1").Value
UserForm1.Show

End Sub

Bueno, no entiendo mucho de programación por tal motivo no se programar para que los 10 mensajes que tengo en la columna A de la hoja1 salga uno distinto cada vez que abra el formulario, se que se puede porque vi un vídeo la ejecución más no la programación. Esto es para un proyecto que tengo en mi Institución Educativa.

Agradezco la infinita colaboración. Que Dios os bendiga y le de sabiduría

2 respuestas

Respuesta
3

Puedes probar esto en el formulario a ver qué tal:

Private Sub UserForm_Initialize()
    Dim X as byte
    Dim Celda as string
    X= Rnd*10         'Esto elige un numero aleatorio de 1 a 10
    Celda="A" & X     'Esto compone la celda para elegir el mensaje
    Label1.Caption = Range(Celda).Value
    UserForm1.Show
End Sub

Suerte y no olvides puntuar la respuesta ;-)

Respuesta
1

Asumiendo que tus datos están entre "A1" y "A10", coloca así:

Private Sub UserForm_Initialize()
Dim Valor As Integer
Valor = Application.WorksheetFunction.RandBetween(1, 10)
Label1.Caption = Range("A" & Valor)
End Sub

Comentas

Abraham Valencia

¡Gracias! 

Que buena respuesta...

Funciona como lo deseaba, gracias por compartir parte de su sabiduría.

Bendiciones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas