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
    sabato 21 febbraio 2026
    Bari
    72
    63
    35
    12
    01
    Cagliari
    02
    31
    01
    53
    10
    Firenze
    30
    35
    05
    87
    42
    Genova
    74
    32
    43
    68
    80
    Milano
    39
    06
    64
    16
    83
    Napoli
    56
    65
    71
    07
    12
    Palermo
    11
    57
    50
    28
    71
    Roma
    35
    23
    58
    89
    46
    Torino
    27
    28
    74
    16
    75
    Venezia
    68
    70
    27
    77
    83
    Nazionale
    28
    52
    18
    26
    39
    Estrazione Simbolotto
    Cagliari
    42
    15
    21
    19
    13
Indietro
Alto