Vba ricerca ambo



  • Vba ricerca ambo
    di Antonio (utente non iscritto) data: 19/07/2013 07:19:43

    Buongiorno a tutto il forum. Sono un appassionato del gioco del lotto e avrei questo quesito. Con il vba come posso ricercare quanti ambi, terni, quaterne e cinquine sono uscite. Allego il file per semplificare le cose. Praticamente dalle cella D14:H14 a scendere inserisco le estrazioni mentre nelle celle Q2:U2 i numeri da ricercare. Ho iniziato ad inserire qualcosa di vba ma ahimè ne capisco poco. Grazie in anticipo



  • di paolomath data: 19/07/2013 08:47:22

    Prova se va bene il file allegato , inserisci le nuove righe una alla volta in posizione 14.ma.

    Bye



  • di Antonio (utente non iscritto) data: 19/07/2013 23:27:27

    Ti ringrazio del file che va bene però ti vorrei qualche cosa. Alla fine della macro si può inserire qualche riga di codice che dà il totale degli ambi, terni ecc..? Le celle dove scrivo i miei numeri sono Q2:U2, nel codice a quali numeri corrispondono? Dove dice 16 21? Non dovrebbe essere 17 21? Dove sta scritto Range(D14:D65536) il D14 non si può inserire la prima cella piena da D14 a scendere? Non so come ringraziarti.



  • di paolomath data: 19/07/2013 23:43:33

    cit. "Le celle dove scrivo i miei numeri sono Q2:U2, nel codice a quali numeri corrispondono? Dove dice 16 21? Non dovrebbe essere 17 21?"

    In effetti hai ragione, nel For infatti ci sommo 1. Ops, ho copiato la tua istruzione For senza "ripulirla".Oops

    Range("D14:D65536").End(xlDown).Row è l'ultima cella piena dei dati sotto D14, inserendo sempre sulla riga 14 l'ultima estrazione non devi preoccuparti di fissare una data massima.

    Per il conteggio finale vedi codice.

    Bye
     
    Sub Controlla()
    
    Dim Indovinato, i, J, Riga, Colonna As Integer
    Dim Data As String
    Dim Am, Te, Qu, Ci As Integer
    Am = 0
    Te = 0
    Qu = 0
    Ci = 0
    
    For Riga = 14 To Range("D14:D65536").End(xlDown).Row '65536 'oppure 536 cioè la riga con l'ultima cella piena"
        Indovinato = 0
        For i = 16 To 21
            Numero = Cells(2, i + 1)
                For Colonna = 4 To 8
                    If Numero = Cells(Riga, Colonna) Then
                        Indovinato = Indovinato + 1
                    End If
                Next Colonna
            Next i
            Data = Cells(Riga, 3)
            Select Case Indovinato
            'Case Is <= 1
            'MsgBox "estrazione del " & Data & ":" & Chr(13) & Chr(13) & "Nessun risultato"
            Case Is = 2
            MsgBox "estrazione del " & Data & ":" & Chr(13) & Chr(13) & "1 ambo"
            Am = Am + 1
            Case Is = 3
            MsgBox "estrazione del " & Data & ":" & Chr(13) & Chr(13) & "1 terno" & Chr(13) & "3 ambi"
            Am = Am + 3
            Te = Te + 1
            Case Is = 4
            MsgBox "estrazione del " & Data & ":" & Chr(13) & Chr(13) & "1 quaterna" & Chr(13) & "4 terni" & Chr(13) & "6 ambi"
            Am = Am + 6
            Te = Te + 4
            Qu = Qu + 1
            Case Is = 5
            MsgBox "estrazione del " & Data & ":" & Chr(13) & Chr(13) & "1 cinquina" & Chr(13) & "5 quaterne" & Chr(13) & "10 terni" & Chr(13) & "10 ambi"
            Am = Am + 10
            Te = Te + 10
            Qu = Qu + 5
            Ci = Ci + 1
            End Select
    Next Riga
    MsgBox "In totale ci sono:" & Chr(13) & Chr(13) & Ci & " cinquine" & Chr(13) & Qu & " quaterne" & Chr(13) & Te & " terni" & Chr(13) & Am & " ambi"
    End Sub



  • di Antonio (utente non iscritto) data: 20/07/2013 15:00:28

    Ok, il file è quasi perfetto. Siccome vorrei imparare qualcosa di vba ti chiedo questa cosa: nel codice sta scritto For Riga = 14 To Range("D14:D65536"), invece di scrivere manualmente il 14 come si fa ad essere uguale per esempio alla cella L6 dove naturalmente ci deve essere il valore 14? Stessa cosa del D14. L'ultimissima cosa: se i numeri da controllare invece che in Q2:U2 li metto per esempio in L5:P5 devo modificare il 17 21 in 12 16, giusto? E poi il 2 in 5? Ho provato ma c'è qualcosa che non va perché un numero non me lo considera.



  • di Antonio (utente non iscritto) data: 21/07/2013 12:39:20

    Per l'altri quesiti ho creato una nuova discussione. Grazie tante