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
    giovedì 09 ottobre 2025
    Bari
    09
    10
    42
    73
    59
    Cagliari
    14
    65
    66
    79
    83
    Firenze
    71
    15
    32
    04
    61
    Genova
    08
    02
    18
    87
    84
    Milano
    33
    08
    84
    80
    41
    Napoli
    29
    81
    50
    17
    83
    Palermo
    14
    28
    74
    19
    60
    Roma
    76
    32
    55
    67
    90
    Torino
    07
    02
    66
    15
    70
    Venezia
    34
    73
    70
    40
    09
    Nazionale
    87
    79
    36
    46
    02
    Estrazione Simbolotto
    25
    07
    23
    17
    30
Indietro
Alto