Jump to content

Imágenes Aleatorias


Recommended Posts

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

Link to post
Share on other sites
  • 1 month later...
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

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

a


  • Crear macros Excel

  • Posts

    • Bigpetroma, eres un genio al final me diste la solución lo es probado con el código que a me ha dejado y funciona bastante bien hasta ahora así como esta ejecutando es la solución perfecta, gracias por ahora seria tema cerrado.
    • amigo, lamentablemente NO nos estamos entendiendo, tu quieres que la macro haga algo pero no terminas de explicar, lo mas que voy a hacer por ti es dejarte esta macro que hace lo mismo que tu macro original pero mucho mas resumida Sub correspondencia() Dim NumCriterios As Variant Dim nCantDatos As Double Dim nDatos As Double Dim wHoja As Worksheet Dim nVariable As Integer Dim sVariable As String Dim sDatos As String ' ' correspondencia Macro ' ' Acceso directo: CTRL+a ' ''''''''''''''''''pedimos la cantidad de crieterios ''''''''''''''''''''''''''''''''''''''''''''''''''''''' NumCriterios = InputBox("Escribe el número de criterios") 'Caja de texto para escribir el numero de criterios If IsNumeric(NumCriterios) = False Then Exit Sub '''''''''''''''''' obtenemos la cantidad de datos a procesar ''''''''''''''''''''''''''''''''''''''''''''''''''''''' nCantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de nDatos For nDatos = 2 To nCantDatos 'Ciclo para realizar las combinaciones Worksheets("Correspondencia").Copy Before:=Sheets(nDatos) Set wHoja = ActiveSheet For nVariable = 1 To NumCriterios sVariable = Worksheets("BD").Cells(1, nVariable).Value sDato = Worksheets("BD").Cells(nDatos, nVariable).Value wHoja.Cells.Replace What:="<" & sVariable & ">", Replacement:=sDato, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'Busca y reemplaza los valores de la base de nDatos Next nVariable Next nDatos End Sub   de resto no puedo ayudarte mas, pues tienes que ayudarme a entender para poder ayudarte, la macro supuestamente busca hasta 8 campos (tu macro original) en la tabla de la hoja DB, pero esa hoja solo tiene 2 campos nombre y nota, no veo el sentido de elegir 8 criterios cuando NO existen. y lo otro, dices que algunos no te cuadran, pero no dices cual para revisar. suerte  
    • Si disculpe, pero como lo digo solo eso necesito esa macro necesito que me replique la correspondencia pero hasta ahí funciona bien pero en la sumatoria en algunas correspondencias no lo suma bien solo eso el total sale distinto a los criterios.
    • Saludo amigo hace mes me ayudaste con este archivo que   ponga Trimestre i aparezca solo los meses Ene, Feb, Mar; Trimestre II aparezca solo Abril, May, Jun; Trimestre III aparezca solo Jul, Agos, Set; Trimestre IV aparezca solo Oct, Nov, Dic, se estuviera a su alcance me lo pudiera corregir solos que aparezcan por mes se pongo enero me aparezca solo enero y así sucesivamente con los otros meses gracias 
    • yo veo lo que hace la macro, simplemente hace una copia de la hoja Correspondencia y supuestamente sustituye los criterios o campos, pero en este caso simplemente cambia solo dos, <nombre> y <nota> y tu hablas hasta de 8 criterios, si puedes explicar lo que intentas hacer
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy