Novità

Subscript Of Range (dopo la fine di ogni primo giro di analisi) . Perchè?

lotto_tom75

Advanced Premium Member
Codice:
Sub AnalisiLunghetteFromSceglinumeri(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
Dim nTotLunghette
Dim k,sChrSep,nClasse,sNumReal,nClasseiniziale,nClassefinale
ReDim aLunghette(0)
Dim clsL,collLunghette,FiltroEsaminato
Set collLunghette = GetNewCollection
FiltroEsaminato = ScriviFiltro(idFiltro)
sChrSep = " "
ScegliNumeri(aLunghette)
'nClasse = CInt(InputBox(" classe sviluppo ",,2))
nClasseiniziale = CInt(InputBox(" classe sviluppo iniziale ",,10))
nClassefinale = CInt(InputBox(" classe sviluppo finale ",,3))

For nClasse = nClasseiniziale To nClassefinale Step - 1

nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While GetCombSviluppo(aLunghette)
k = k + 1
Set clsL = New clsLunghetta
Call clsL.Init(aLunghette,sChrSep,Inizio,Fine,aRuote,Sorte)
If clsL.IsCondizioneRispettata(idFiltro,qIncr) Then
Call clsL.EseguiStatistica
collLunghette.Add clsL
End If
If k Mod 50 = 0 Then
Call Messaggio("Riga " & k & "  valide " & collLunghette. count & " classe " & nClasse & " sorte " & Sorte & " ruote " & StringaRuote(aRuote) & " lung. totali " & nTotLunghette )

DoEventsEx
Call AvanzamentoElab(1,nTotLunghette,k)
If ScriptInterrotto Then Exit Do
End If
Loop

Call Scrivi
Call Scrivi("Elaborazione effettuata con archivio lotto aggiornato all'estrazione del: " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
Call Scrivi


Scrivi "Range analisi         : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
Scrivi "Classe di sviluppo    : " & nClasse
Scrivi "Lunghette esaminate   : " & nTotLunghette & " Valide : " & collLunghette.count
Scrivi "Sorte                 : " & NomeSorte(Sorte)
Scrivi "Ruote                 : " & StringaRuote(aRuote)
Scrivi

Call Scrivi
If collLunghette.count > 0 Then
Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
For Each clsL In collLunghette
If nDistanza = 0 Then
Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString)
Else
sNumReal = clsL.TrasformaArrayNumVirToNumReal(nDistanza,bPrimaEstrFissa)
Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString & "   " & "Numeri Verifica   : " & sNumReal)
End If
Call Scrivi("Ritardo               : " & clsL.Ritardo)
Call Scrivi("RitMax                : " & clsL.RitardoMax)
Call Scrivi("Freq                  : " & clsL.Frequenza)
Next
Else
Scrivi "Nessuna lunghetta rispetta le condizioni"
Scrivi "Lunghette esaminate " & nTotLunghette
End If

Scrivi
Scrivi("Tempo trascorso: " & TempoTrascorso)

If ScriptInterrotto Then Exit For
Next

End Sub

Questo mio code mi da sempre errore Subscript Of Range dopo la prima analisi che porta a termine apparentemente senza errori. Il limite di classe per lo sviluppo di tipo integrale è attualmente 20. Perchè anche con classi nettamente inferiori (nell'es da 10 a 3) mi da lo stesso errore??? :unsure: Grazie

La riga cui si riferisce l'errore bloccante... è questa:

Codice:
 Do While GetCombSviluppo(aLunghette)
 
Ultima modifica:
Ce l'ho fatta! :D

così :

Codice:
Dim counter
counter = 0

For nClasse = nClasseiniziale To nClassefinale Step 1

nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While counter < nTotLunghette '(aLunghette,nClasse)
counter = counter + 1
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 12 agosto 2025
    Bari
    24
    68
    73
    16
    76
    Cagliari
    78
    24
    82
    32
    90
    Firenze
    39
    46
    21
    45
    28
    Genova
    50
    03
    21
    64
    09
    Milano
    85
    44
    38
    43
    34
    Napoli
    12
    16
    56
    61
    03
    Palermo
    75
    64
    34
    25
    28
    Roma
    55
    29
    43
    06
    64
    Torino
    38
    60
    90
    53
    82
    Venezia
    12
    75
    34
    67
    77
    Nazionale
    70
    17
    25
    41
    57
    Estrazione Simbolotto
    Nazionale
    25
    28
    19
    34
    36
Indietro
Alto