'Puoi provare a modificare questa riga in fondo allo script e provarlo
'attualmente___For q= 1 To 5
'falla diventare così___For q= 1 To UBound(aretritardi)
Sub Main
Dim colonne
Dim numeri(10),nm(10),ruote(10),max(5000)
Dim classe
Dim scolonna
Dim s,k,ct,ct2,j,y,u,rita,rt1,rt2,ritardo,ritardomax,incrritmax,frequenza,aretritardi,aretidestr,des1,des2,qt,q,ord
Do While qt = ""
Call ScegliNumeri(numeri)
If UBound(numeri) >= 11 Then
MsgBox("max possibile (10 numeri)")
qt = ""
Else
Exit Do
End If
Loop
Do While classe = ""
classe = InputBox("sviluppo (classe = ruota).in...(max = 5)",,1)
If classe >= 6 Then
MsgBox("max possibile 5) ")
classe = ""
Else
Exit Do
End If
Loop
Do While s = ""
s = InputBox("inserire sorte 1,2,3,4,5 ",,1)
If s >= 6 Then
MsgBox("max possibile (5) = cinquina ")
s = ""
Else
Exit Do
End If
Loop
ord = InputBox("riepilogo ordina x colonna...",,3)
ColoreTesto(1)
If classe = 1 Then des1 = " una ruota"
If classe = 2 Then des1 = " due ruote"
If classe = 3 Then des1 = " tre ruote"
If classe = 4 Then des1 = " quattro ruote"
If classe = 5 Then des1 = " cinque ruote"
If s = 1 Then des2 = " ambata "
If s = 2 Then des2 = " ambo "
If s = 3 Then des2 = " terno "
If s = 4 Then des2 = " quaterna"
If s = 5 Then des2 = " cinquina"
'Scrivi "Numeri inseriti " & StringaNumeri(numeri),1
'Scrivi "Sviluppo della combinazione in classe " & classe & "" & des1,1
'Scrivi "Ritardi_calcola per la sorte di " & s & "" & des2,1
'Scrivi ""
ReDim atitoli(24)
ReDim avalori(24)
' preimposto i titoli delle colonne
atitoli(1) = " Numeri "
atitoli(2) = " Ruote "
atitoli(3) = " RA "
atitoli(4) = " RS "
atitoli(5) = " IC "
atitoli(6) = " FR "
atitoli(7) = " Rp1 "
atitoli(8) = " Rp2 "
atitoli(9) = " Rp3 "
atitoli(10) = " Rp4 "
atitoli(11) = " Rp5 "
atitoli(12) = " Rp6 "
atitoli(13) = " Rp7 "
atitoli(14) = " Rp8 "
atitoli(15) = " Rp9 "
atitoli(16) = " Rp10 "
atitoli(17) = " Rp11 "
atitoli(18) = " Rp12 "
atitoli(19) = " Rp13 "
atitoli(20) = " Rp14 "
atitoli(21) = " Rp15 "
atitoli(22) = " Rp16 "
atitoli(23) = " Rp17 "
atitoli(24) = " Rp18 "
' ' inizializzo la tabella
Call InitTabella(atitoli,0,"center",1.5,5,"arial")
ColoreTesto(0)
For h = 1 To 10
ruote(h) = h
Next
colonne = SviluppoIntegrale(ruote,classe)
For k = 1 To UBound(colonne)
scolonna = ""
Call Messaggio(" elaboro sviluppo " & des1)
If ScriptInterrotto Then Exit For
Call AvanzamentoElab(1,UBound(colonne),k)
ReDim ar(classe)
For j = 1 To classe
scolonna = scolonna & SiglaRuota(colonne(k,j)) & " "
ar(j) = colonne(k,j)
Next
aretritardi = ""
Call StatisticaFormazione(numeri,ar,s,ritardo,ritardomax,incrritmax,frequenza)
Call ElencoRitardi(numeri,ar,s,EstrazioneIni,EstrazioneFin,aretritardi,aretidestr)
y = UBound(aretritardi)
avalori(1) = StringaNumeri(numeri)
avalori(2) = " " & scolonna & " "
avalori(3) = ritardo
avalori(4) = ritardomax
avalori(5) = incrritmax
avalori(6) = frequenza
If y >= 2 Then avalori(7) = aretritardi(y - 1) Else avalori(7) = 0 End If
If y >= 3 Then avalori(8) = aretritardi(y - 2) Else avalori(8) = 0 End If
If y >= 4 Then avalori(9) = aretritardi(y - 3) Else avalori(9) = 0 End If
If y >= 5 Then avalori(10) = aretritardi(y - 4) Else avalori(10) = 0 End If
If y >= 6 Then avalori(11) = aretritardi(y - 5) Else avalori(11) = 0 End If
If y >= 7 Then avalori(12) = aretritardi(y - 6) Else avalori(12) = 0 End If
If y >= 8 Then avalori(13) = aretritardi(y - 7) Else avalori(13) = 0 End If
If y >= 9 Then avalori(14) = aretritardi(y - 8) Else avalori(14) = 0 End If
If y >= 10 Then avalori(15) = aretritardi(y - 9) Else avalori(15) = 0 End If
If y >= 11 Then avalori(16) = aretritardi(y - 10) Else avalori(16) = 0 End If
If y >= 12 Then avalori(17) = aretritardi(y - 11) Else avalori(17) = 0 End If
If y >= 13 Then avalori(18) = aretritardi(y - 12) Else avalori(18) = 0 End If
If y >= 14 Then avalori(19) = aretritardi(y - 13) Else avalori(19) = 0 End If
If y >= 15 Then avalori(20) = aretritardi(y - 14) Else avalori(20) = 0 End If
If y >= 16 Then avalori(21) = aretritardi(y - 15) Else avalori(21) = 0 End If
If y >= 17 Then avalori(22) = aretritardi(y - 16) Else avalori(22) = 0 End If
If y >= 18 Then avalori(23) = aretritardi(y - 17) Else avalori(23) = 0 End If
If y >= 19 Then avalori(24) = aretritardi(y - 18) Else avalori(24) = 0 End If
Call AddRigaTabella(avalori,Bianco_,"left",1)
'Call SetColoreCella(2,RGB(254,249,180),vbBlack)
'Call SetColoreCella(3,RGB(238,213,111),vbBlue)
Call SetColoreCella(1,,vbRed)
Call SetColoreCella(2,,vbBlue)
Call SetColoreCella(3,4,0)
Call SetColoreCella(4,6,0)
Call SetColoreCella(5,7,0)
Call SetColoreCella(6,3,0)
If avalori(3) >= avalori(4) Then
'Call SetColoreCella(3,RGB(250,137,131),vbBlue)
'Call SetColoreCella(3,2,vbWhite)
Call SetColoreCella(3,2,0)
End If
ct = ct + 1
If s <= 3 Then
Call OrdinaMatrice(aretritardi,- 1)
For q = 1 To UBound(aretritardi)
'For q = 1 To 5
ct2 = ct2 + 1
max(ct2) = aretritardi(q)
Next
End If
Next
Call Messaggio(" creazione tabella e ordinamento : Attendere ")
CreaTabella(3)
CreaTabella(4)
'CreaTabella(ord)
Call OrdinaMatrice(max,- 1)
Scrivi " Totale combinazioni elaborate.." & ct,1
Scrivi " 1°ritardo max..." & max(1)
Scrivi " 2°ritardo max..." & max(2)
Scrivi " 3°ritardo max..." & max(3)
Scrivi " 4°ritardo max..." & max(4)
Scrivi " 5°ritardo max..." & max(5)
'Scrivi " Totale combinazioni elaborate.." & ct,1
End Sub