Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Cinzia27;n2104111 ha scritto:Codice:Sub Main() For es = 1 To EstrazioneFin For r = 1 To 10 n = 79 p = 3 If Estratto(es,r,p) = n Then Scrivi " Estr. " & FormatSpace(es,4,1) & " " & SiglaRuota(r) & " " &p& " ° posizione " & Format2(n) End If Next Next End Sub
Ciao
Cinzia
Option Explicit
' salvo errori
' Verificare se lo script restituisce i valori esatti, non ho fatto le verifiche
Sub Main
Dim Ini,Fin:Call ScegliRange(Ini,Fin,EstrazioneIni,EstrazioneFin) ' seleziono il range in cui effettuare la ricerca
Dim iNumSpia:iNumSpia = GetInput(90,"NumeroSpia")
Dim iPosSpia:iPosSpia = GetInput(5,"PosizioneSpia")
ReDim aRuoteSpia(0): Call ScegliRuote(aRuoteSpia)
Dim IdEstr,R,CStro :CStro = 0 ' inizializzo la variabile a zero
Call SetColorSezione(RGB(19,60,79)) ' coloro la sezione del testo con i parametri di ricerca
Scrivi " Numero spia: | " & Format2(iNumSpia),,,,RGB(244,250,253)
Scrivi " Posizione spia: | " & iPosSpia,,,,RGB(244,250,253)
Scrivi " Ruote Spia: | " & StringaRuote(aRuoteSpia),,,,RGB(244,250,253)
Scrivi " RangeRicerca | " & DataEstrazione(Ini) & "-" & DataEstrazione(Fin),,,,RGB(244,250,253)
EndColorSezione
Call SetColorSezione(RGB(71,165,209)) ' coloro la sezione dell outPut di ricerca
Scrivi Space(1),,0
Scrivi Space(2) & FormatSpace("CStro",5) & Space(2) & "|" & Space(2) & "DataEstraz" & Space(2) & "|" & Space(2) & "Ru" & Space(2) & "|" & Space(2) & "StringaEstratti ",1,,RGB(35,105,139),RGB(243,251,252)' scrivi i titoli delle colonne
'Utilizzo il separatore | Cosi si possono esportare i dati piu agevolmente
For IdEstr = Ini To Fin ' ciclo il range di ricerca
For R = 1 To UBound(aRuoteSpia) ' ciclo le ruote di ricerca
If Posizione(IdEstr,aRuoteSpia(R),iNumSpia) = iPosSpia Then ' detto la condizione richiestra e se è vera allora
CStro = CStro + 1 ' conto i casi trovati incrementando i valori di 1
Scrivi Space(1),,0
Scrivi Space(2) & FormatSpace(CStro,5,True) & Space(2) & "|" & Space(2) & DataEstrazione(IdEstr) & Space(2) & "|" & Space(2) & _
SiglaRuota(aRuoteSpia(R)) & Space(2) & "|" & Space(2) & StringaEstratti(IdEstr,aRuoteSpia(R)) & Space(3),,,RGB(244,250,253),RGB(19,60,79) ' scrivi in output se la conzione è rispettata
End If
Next
Next
Scrivi
EndColorSezione
End Sub
' con questa funzione prendo i dati in input
' Questa funzione è molto flessibile e carica solo elementi numerici ma si puo facilmente adattare per caricare testi con array
Function GetInput(nElementi,sTesto)
ReDim aV(nElementi - 1)' dichiaro il vettore che contiene gli elementi
Dim i : For i = LBound(aV)To UBound(aV): aV(i) = i + 1:Next ' carico il vettore partendo da indice zero e sommo + 1 Valore minimo di partenza
GetInput = ScegliOpzioneMenu(aV,0,sTesto) + 1 'sommmo +1 perchè restituisca l indice esatto della combobox
End Function
Cinzia, non ci sono errori, ricopialo bene che forse distrattamente hai remmato qualcosa.Cinzia27;n2104294 ha scritto:A me dà errore qui
End Sub
claudio8;n2104134 ha scritto:Cinzia, ti suggeriso una correzione......
non inserire le variabili n = 79 e p = 3 all'interno del ciclo For...next, tienile all'esterno ,prima del ciclo.
Esse sono sempre le stesse, mentre tu chiedi allo script di aggiornarle tutte le volte che cicla....
il risultato in output non cambia ma l'elaborazione prende + tempo.
Ciao...
Ciao Alien.... possibile che dopo tanto tempo che bazzichi tra gli script non sei ancora riuscito a farne uno così semplice? ( scherzo)
mi sa che ti fai prendere dalla pigrizia... e Salvini che dice? Quanto durerà con Berlusconi?
Cinzia27;n2104294 ha scritto:A me dà errore qui
End Sub
Sub Main()
n = 79
p = 3
For es = 1 To EstrazioneFin
For r = 1 To 10
If Estratto(es,r,p) = n Then
Scrivi " Estr. " & DataEstrazione(es) & " " & SiglaRuota(r) & " " & p & " ° posizione " & Format2(n)
End If
Next
Next
End Sub
Alien.;n2104301 ha scritto:Si,ciao, vero sono fatto molto pigro come un gatto sul sofà.....alcuni decenni fà ho imparato benissimo il basic da solo con un giornale del lotto poi li salvavo sul dischetto con il tempo ho tralasciato ed op ..non mi ricordo più un tubo....
senti invece del numero di estrazione si potrebbe inserire la data? hahhahaha
Lascio l'onere a Cinzia, anche se lo script di ilegend è più versatile
Berlusconi è un bravo ragazzo ma troppo buono......ed al servizio della Merkel....Salvini ha altre idee lo vedo bene con i 5 stelle....vedremo..
ma sono tutti un po "ubriachi di vittoria" ma che si son fumati ?
La seconda che hai detto .....
GRAZIE A TUTTI PER LA CORTESIA ALLA MIA RICHIESTA!
Sub Main()
n = 79
p = 3
For es = 1 To EstrazioneFin
If IndiceMensile(es) = 6 Then
For r = 1 To 10
If Estratto(es,r,p) = n Then
Scrivi " Estr. " & DataEstrazione(es) & " " & SiglaRuota(r) & " " & p & " ° posizione " & Format2(n)
End If
Next
End If
Next
End Sub
Option Explicit
' salvo errori
' Verificare se lo script restituisce i valori esatti, non ho fatto le verifiche
Sub Main
Dim Ini,Fin:Call ScegliRange(Ini,Fin,EstrazioneIni,EstrazioneFin) ' seleziono il range in cui effettuare la ricerca
Dim iNumSpia:iNumSpia = GetInput(90,"NumeroSpia")
Dim iPosSpia:iPosSpia = GetInput(5,"PosizioneSpia")
Dim sTestoMensile,idMensile:idMensile = GetIdMensile(sTestoMensile)
ReDim aRuoteSpia(0): Call ScegliRuote(aRuoteSpia)
Dim IdEstr,R,CStro :CStro = 0 ' inizializzo la variabile a zero
Call SetColorSezione(RGB(19,60,79)) ' coloro la sezione del testo con i parametri di ricerca
Scrivi " Numero spia: | " & Format2(iNumSpia),,,,RGB(244,250,253)
Scrivi " Posizione spia: | " & iPosSpia,,,,RGB(244,250,253)
Scrivi " Indice mensile: | " & sTestoMensile,,,,RGB(244,250,253)
Scrivi " Ruote Spia: | " & StringaRuote(aRuoteSpia),,,,RGB(244,250,253)
Scrivi " RangeRicerca | " & DataEstrazione(Ini) & "-" & DataEstrazione(Fin),,,,RGB(244,250,253)
EndColorSezione
Call SetColorSezione(RGB(71,165,209)) ' coloro la sezione dell outPut di ricerca
Scrivi Space(1),,0
Scrivi Space(2) & FormatSpace("CStro",5) & Space(2) & "|" & Space(2) & "DataEstraz" & Space(2) & "|" & Space(2) & "Ru" & Space(2) & "|" & Space(2) & "StringaEstratti ",1,,RGB(35,105,139),RGB(243,251,252)' scrivi i titoli delle colonne
'Utilizzo il separatore | Cosi si possono esportare i dati piu agevolmente
' selezionato l indice mensile lancio la sub di ricerca
Select Case idMensile
Case 0 : Call QualsiasiEstrazione(Ini,Fin,aRuoteSpia,iNumSpia,iPosSpia)
Case 1,2,3,4,5,6,7,8,9,10,11,12,13,14:Call EstrazioneIdMese(Ini,Fin,aRuoteSpia,iNumSpia,iPosSpia,idMensile)
Case 15:Call EstrazioneUltimaMese(Ini,Fin,aRuoteSpia,iNumSpia,iPosSpia)
End Select
EndColorSezione
End Sub
' con questa funzione prendo i dati in input
' Questa funzione è molto flessibile e carica solo elementi numerici ma si puo facilmente adattare per caricare testi con array
Function GetInput(nElementi,sTesto)
ReDim aV(nElementi - 1)' dichiaro il vettore che contiene gli elementi
Dim i : For i = LBound(aV)To UBound(aV): aV(i) = i + 1:Next ' carico il vettore partendo da indice zero e sommo + 1 Valore minimo di partenza
GetInput = ScegliOpzioneMenu(aV,0,sTesto) + 1 'sommmo +1 perchè restituisca l indice esatto della combobox
End Function
Function GetIdMensile(stestoMensile)
ReDim aV(15)
Dim i
aV(0) = "Qualsiasi"
For i = 1 To 14:aV(i) = i:Next :aV(15) = "Ultima del mese"
GetIdMensile = ScegliOpzioneMenu(aV,0,"Seleziona Indice Mensile")
stestoMensile = aV(GetIdMensile)
End Function
Sub QualsiasiEstrazione(Ini,Fin,aRuoteSpia,iNumSpia,iPosSpia)
Dim IdEstr,R,CStro
For IdEstr = Ini To Fin ' ciclo il range di ricerca
For R = 1 To UBound(aRuoteSpia) ' ciclo le ruote di ricerca
If Posizione(IdEstr,aRuoteSpia(R),iNumSpia) = iPosSpia Then ' detto la condizione richiestra e se è vera allora
CStro = CStro + 1 ' conto i casi trovati incrementando i valori di 1
Scrivi Space(1),,0
Scrivi Space(2) & FormatSpace(CStro,5,True) & Space(2) & "|" & Space(2) & DataEstrazione(IdEstr) & Space(2) & "|" & Space(2) & _
SiglaRuota(aRuoteSpia(R)) & Space(2) & "|" & Space(2) & StringaEstratti(IdEstr,aRuoteSpia(R)) & Space(3),,,RGB(244,250,253),RGB(19,60,79) ' scrivi in output se la conzione è rispettata
End If
Next
Next
Scrivi
End Sub
Sub EstrazioneIdMese(Ini,Fin,aRuoteSpia,iNumSpia,iPosSpia,IdMensile)
Dim IdEstr,R,CStro
For IdEstr = Ini To Fin ' ciclo il range di ricerca
If IndiceMensile(IdEstr) = IdMensile Then
For R = 1 To UBound(aRuoteSpia) ' ciclo le ruote di ricerca
If Posizione(IdEstr,aRuoteSpia(R),iNumSpia) = iPosSpia Then' detto la condizione richiestra e se è vera allora
CStro = CStro + 1 ' conto i casi trovati incrementando i valori di 1
Scrivi Space(1),,0
Scrivi Space(2) & FormatSpace(CStro,5,True) & Space(2) & "|" & Space(2) & DataEstrazione(IdEstr) & Space(2) & "|" & Space(2) & _
SiglaRuota(aRuoteSpia(R)) & Space(2) & "|" & Space(2) & StringaEstratti(IdEstr,aRuoteSpia(R)) & Space(3),,,RGB(244,250,253),RGB(19,60,79) ' scrivi in output se la conzione è rispettata
End If
Next
End If
Next
Scrivi
End Sub
Sub EstrazioneUltimaMese(Ini,Fin,aRuoteSpia,iNumSpia,iPosSpia)
Dim IdEstr,R,CStro
For IdEstr = Ini To Fin ' ciclo il range di ricerca
If IsUltimaDelMese(IdEstr) Then
For R = 1 To UBound(aRuoteSpia) ' ciclo le ruote di ricerca
If Posizione(IdEstr,aRuoteSpia(R),iNumSpia) = iPosSpia Then ' detto la condizione richiestra e se è vera allora
CStro = CStro + 1 ' conto i casi trovati incrementando i valori di 1
Scrivi Space(1),,0
Scrivi Space(2) & FormatSpace(CStro,5,True) & Space(2) & "|" & Space(2) & DataEstrazione(IdEstr) & Space(2) & "|" & Space(2) & _
SiglaRuota(aRuoteSpia(R)) & Space(2) & "|" & Space(2) & StringaEstratti(IdEstr,aRuoteSpia(R)) & Space(3),,,RGB(244,250,253),RGB(19,60,79) ' scrivi in output se la conzione è rispettata
End If
Next
End If
Next
Scrivi
End Sub