Jump to content

Recommended Posts

Buenas tardes

Estoy realizando una actividad (Lotería).

Necesito ayuda al dar clic sobre el botón barajar que las cartas se revuelvan y se muestren de una en una en un control imagen cada vez que presiono en un botón (Siguiente).

Loteria.xlsm

Share this post


Link to post
Share on other sites

Revisa el adjunto.

He añadido estas macros en la hoja Inicio.

Dim Cartas() As Integer
Dim Índice As Integer

Private Sub cmdBarajear_Click() 'Evento click del botón Barajear <------------------
ReDim Cartas(Hoja2.UsedRange.Rows.Count)
Inicio:
   n = Int(Hoja2.UsedRange.Rows.Count * Rnd) + 1
   For x = 0 To UBound(Cartas)
      If Cartas(x) = n Then GoTo Inicio
      If Cartas(x) = 0 Then
         Cartas(x) = n
         If x = UBound(Cartas) - 1 Then Exit For
         GoTo Inicio
      End If
   Next
   Índice = 0
End Sub

Private Sub cmdSiguiente_Click() 'Evento click del botón Siguiente '<----------------------
imgCartas.Picture = LoadPicture(Hoja2.Range("B" & Cartas(Índice)))
Índice = Índice + 1
If Índice > UBound(Cartas) - 1 Then Índice = UBound(Cartas) - 1
End Sub

 

Loteria.xlsm

Edited by Antoni

Share this post


Link to post
Share on other sites
En 5/7/2019 at 10:28 , Antoni dijo:

Revisa el adjunto.

He añadido estas macros en la hoja Inicio.


Dim Cartas() As Integer
Dim Índice As Integer

Private Sub cmdBarajear_Click() 'Evento click del botón Barajear <------------------
ReDim Cartas(Hoja2.UsedRange.Rows.Count)
Inicio:
   n = Int(Hoja2.UsedRange.Rows.Count * Rnd) + 1
   For x = 0 To UBound(Cartas)
      If Cartas(x) = n Then GoTo Inicio
      If Cartas(x) = 0 Then
         Cartas(x) = n
         If x = UBound(Cartas) - 1 Then Exit For
         GoTo Inicio
      End If
   Next
   Índice = 0
End Sub

Private Sub cmdSiguiente_Click() 'Evento click del botón Siguiente '<----------------------
imgCartas.Picture = LoadPicture(Hoja2.Range("B" & Cartas(Índice)))
Índice = Índice + 1
If Índice > UBound(Cartas) - 1 Then Índice = UBound(Cartas) - 1
End Sub

 

Loteria.xlsm 25 kB · 8 downloads

Muchas gracias!

Estoy tratando de insertar un control imagen (Check) en el lugar correspondiente según la carta que aparezca.

Utilicé 

If imgCartas.Picture = LoadPicture("C:\Users\magza\OneDrive\Escritorio\Memoria Blanca-Azul\Loteria\02 El Diablito.jpg") Then
    imgJ2C02.Visible = True
End If

Inserté el control imagen con el name imgJ2C02 y le cambié la propiedad Visible=False

Pero no responde. :(

Indicar.jpg

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5