Lanfranco60
Super Member >GOLD<
Giusto, per copiare modi + semplificativi io la avrei fatta cosi.
Ciao Mike, mi sono ricopiato lo script, grazie, mi servirà per fare le sose sempre migliori
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.
Giusto, per copiare modi + semplificativi io la avrei fatta cosi.
Ciao Mike, mi sono ricopiato lo script, grazie, mi servirà per fare le sose sempre migliori
ATTENZIONE ancora ad una cosa, la separazione visiva delle ruote "in tabella" non è la separazione delle ruote.
Lo script che ho proposto e così strutturato assomiglia a quanto ha proposto Lanfranco ed è in Spaziometria.
Simula la visualizzazione-Estesa in cui la ricerca delle figure è come in Spaziometria, non ha confine di ruota.
Ed anche la coppia di numeri ad indice X +/- 1 ... può considerare 2 numeri a cavallo di 2 ruote diverse.
E... questo, non ben specificato ... ritengo sia diverso da quanto voluto.
In sintesi se è così ... lo script che ho proposto non va bene.
Sub Main()
T = "***** CERCA SOMMA A SCELTA BY BLACKMORE & MIKE58 *****"
Call Scrivi(T,True,,RGB(128,64,0),5,5):Scrivi
ss = CInt(InputBox("SCEGLI LA SOMMA DA CERCARE","SOMMA",90))
DD = CInt(InputBox("SCEGLI LA SOMMA DA CERCARE","SOMMA",36))
ii = InputBox("SCEGLI L' ESTRAZIONE DA CONTROLLARE",,8736)
Ini = ii
fin = EstrazioneFin
ReDim title(8)
title(1) = " Data "
title(2) = " Ruota "
'title(3) = " Estratti Ruota "
title(4) = " 1°E "
title(5) = " 2°E "
title(6) = " 3°E "
title(7) = " 4°E "
title(8) = " 5°E "
Call InitTabella(title,RGB(128,64,0),,3,5)
Call Scrivi("SOMMA CERCATA : " & SS,True,True,RGB(223,0,223),5,4)
Call Scrivi("SOMMA CERCATA : " & DD,True,True,RGB(62,221,230),5,4)
Scrivi:Scrivi
For r = 1 To 12
For es = fin To Ini Step - 1
Tot = fin - Ini
c = c + 1
If r = 11 Then r = 12
n1 = Estratto(es,r,1)
n2 = Estratto(es,r,2)
n3 = Estratto(es,r,3)
n4 = Estratto(es,r,4)
n5 = Estratto(es,r,5)
Call AvanzamentoElab(Ini,fin,es)
ReDim Value(8)
Value(1) = DataEstrazione(es)
Value(2) = NomeRuota(r)
'Value(3) = StringaEstratti(es,r)
Value(4) = n1
Value(5) = n2
Value(6) = n3
Value(7) = n4
Value(8) = n5
Call AddRigaTabella(Value,,,3,,1)
Call SetColoreCella(1,RGB(251,251,255))
Call SetColoreCella(2,RGB(251,251,255))
Call SetColoreCella(3,RGB(251,251,255))
Call SetColoreCella(4,vbYellow)
Call SetColoreCella(5,vbYellow)
Call SetColoreCella(6,vbYellow)
Call SetColoreCella(7,vbYellow)
Call SetColoreCella(8,vbYellow)
Call SetColoreCella(9,RGB(239,239,239))
For y = 4 To 7
For yy = y + 1 To 8
If Value(y) + Value(yy) = Fuori90(ss) Then Call SetColoreCella((y),RGB(223,0,223),5)
If Value(yy) + Value(y) = Fuori90(ss) Then Call SetColoreCella((yy),RGB(223,0,223),5)
If Value(y) + Value(yy) =(dd) Then Call SetColoreCella((y),RGB(62,221,230),5)
If Value(yy) + Value(y) =(dd) Then Call SetColoreCella((yy),RGB(62,221,230),5)
Next
Next
Next
If ScriptInterrotto Then Exit For
ReDim agg(8)
Call AddRigaTabella(agg,3,,1,,1)
Next
Call CreaTabella(0,0,1,0,0)
End Sub
N.B.Sebbene si possano creare tabelle con piu di 50 colonne solo le prime 50 colonne possono essere modificate nel colore dello sfondo e del testo per la singola cella
Option Explicit
Sub Main
'0904_21b Rosanna prova tabella estratti.ls
Dim idEstr,Inizio,Fine,nAnalisi
Dim r,p,i,co,z
Dim aTitoli(51),tit(10)
Dim aValori(51)
nAnalisi = CInt(InputBox(" Di quante estrazioni vuoi il tabellone ? ",,"15"))
Inizio = EstrazioneFin - nAnalisi + 1
Fine = EstrazioneFin
z = 2 : z = CInt(z) '<====== ATTENZIONE PROVA - NUMERO CHE VORREI EVIDENZIARE SUL TABELLONE!!
'-----------------------
co = 0
For r = 1 To 10
tit(r) = Space(12) & SiglaRuota(r) & Space(11)
For p = 1 To 5
co = co + 1
aTitoli(co) = p
Next
Next
aTitoli(51) = "data"
Call InitTabella(tit,RGB(207,207,207),"center",1,0)
CreaTabella
Call InitTabella(aTitoli,RGB(207,207,207),"center",1,0)
'----------------------------------------
For idEstr = Inizio To Fine
aValori(51) = DataEstrazione(idEstr) ' sull'ultima colonna metto la data
co = 0
For r = 1 To 10
For p = 1 To 5
co = co + 1
aValori(co) = Estratto(idEstr,r,p)
Next
Next
Call AddRigaTabella(aValori,5,"right",1,0) '5=bianco
Call SetColoreCella(51,RGB(207,207,207)) ' la 51esima colonna viene colorata nonostante le note sull'help. boh?!
'--------------------------------------------evidenzio un dato valore
For i = 1 To 50
If aValori(i)=z Then Call SetColoreCella((i),vbYellow,0)
Next
'-----------------------------------------------------------------------
Next
Call CreaTabella
End Sub
Option Explicit
Sub Main
'0904_21c Rosanna prova tabella estratti- Ricerca ambi somma.ls
Dim idEstr,Inizio,Fine,nAnalisi
Dim r,p,q,i,co,z,nPos1,nPos2
Dim aTitoli(51),tit(10)
Dim aValori(51)
nAnalisi = CInt(InputBox(" Di quante estrazioni vuoi il tabellone ? ",,"15"))
z = CInt(InputBox("Di quale somma vuoi evidenziare gli ambi orizzontali? ",,"20"))
Inizio = EstrazioneFin - nAnalisi + 1
Fine = EstrazioneFin
Scrivi "Ambi di somma "& z,1
'-----------------------
co = 0
For r = 1 To 10
tit(r) = Space(12) & SiglaRuota(r) & Space(11)
For p = 1 To 5
co = co + 1
aTitoli(co) = p
Next
Next
aTitoli(51) = "data"
Call InitTabella(tit,RGB(207,207,207),"center",1,0)
CreaTabella
Call InitTabella(aTitoli,RGB(207,207,207),"center",1,0)
'----------------------------------------
For idEstr = Inizio To Fine
aValori(51) = DataEstrazione(idEstr) ' sull'ultima colonna metto la data
co = 0
For r = 1 To 10
For p = 1 To 5
co = co + 1
aValori(co) = Estratto(idEstr,r,p)
Next
Next
Call AddRigaTabella(aValori,5,"right",1,0) '5=bianco
Call SetColoreCella(51,RGB(207,207,207)) ' la 51esima colonna viene colorata nonostante le note sull'help. boh?!
'--------------------------------------------
For r = 1 To 10
For p = 1 To 4
For q = p + 1 To 5
If Fuori90(Estratto(idEstr,r,p) + Estratto(idEstr,r,q)) = z Then
nPos1 = idPosiz(r,p)
nPos2 = idPosiz(r,q)
Call SetColoreCella((nPos1),vbYellow,0)
Call SetColoreCella((nPos2),vbYellow,0)
End If
Next
Next
Next
'-----------------------------------------------------------------------
Next
Call CreaTabella
End Sub
Function idPosiz(idRuota,IdPos)
Dim conta,r,p
conta = 0
For r = 1 To 11
If r = 11 Then r = 12
For p = 1 To 5
conta = conta + 1
If idRuota = r And IdPos = p Then idPosiz = conta
Next
Next
End Function
Option Explicit
Sub Main
' l'approccio di questo script è di avere in memoria attraverso un'array bidimensionale
' una griglia che contenga i numeri estratti nelle ultime N estrazioni scelte dall'utente
' su questo array agiranno tutte le funzioni di ricerca , al termine verra creata
' una tabella usando i dati presenti nell'array
' quindi in sintesi lavoreremo sempre sull'array , solo alla fine dopo tutte le elucubrazioni
' useremo i dati di questo array per creare la table
Dim nQRigheGrliglia ' righe della griglia corrsiponde al numero di estrazioni volute
Dim nInizio,nFine ' range analisi
Dim nParamCercato ' usato per chiedere all'utente il parametro del tipo di ricerca
Dim bRicercaSuRuotaSing ' usato per cercare solo su ruota e non a cavallo
Dim bRicercaInVert ' usato per abiliare la ricerca In Verticale
nQRigheGrliglia = 50 ' preimposto a 50 righe ovvero le ultime 50 estrazioni
nFine = EstrazioneFin ' faccio i calcoli per individuare il range da usare
nInizio =(nFine - nQRigheGrliglia) + 1
bRicercaSuRuotaSing = True ' abilito la ricerca solo su ruota e non a cavallo
bRicercaInVert = True ' abilito la ricerca in verticale
' preparo un array che rispecchierà le celle della griglia
' il numero di righe è a discrezione dell'utente come abbiamo visto
' le colonne sono 57 perche
' la prima è la data
' la seconda è il ritardo
' le altre a gruppi di 5 sono gli estratti delle 11 ruote
ReDim aCelle(nQRigheGrliglia,57)
' alimento l'array con i numeri estratti all'interno del range
Call AlimentaArrayCellle(aCelle,nInizio,nFine)
' ora dato che dobbiamo evidenziare delle celle creiamo un nuovo array con gli stessi
' limiti dell'array delle celle dei numeri questo nuovo array servira a memorizzare il colore
' di ciascuna cella
ReDim aColoriCelle(nQRigheGrliglia,57)
' imposto i colori di default che si differenziano tra colonna data, ritardo, numeriestratti
Call ImpostaColoriDefault(aColoriCelle,vbYellow,RGB(255,196,136),RGB(255,255,213),RGB(255,255,168))
' eseguo la ricerca voluta dall'utente
' fondamentalmente la ricerca consiste nel settare nell'array aColoriCelle il valore del colore
' della cella alle tali coordinate in funzione del tipo di ricerca.
' infatti le funzioni CercaSomme o CercaDistanze individueranno delle caselle
' adiacenti sia in orizzontale che in vericale con i numeri che rispettano
' il criterio di ricerca e allora queste celle
' prenderanno un colore diverso ,ricordiamo che stiamo ancora lavorando sull'array dei colori
' non sulla tabella di output
Select Case TipoRicerca ' chiedo all'utente la ricerca
Case 1 ' somma
nParamCercato = CInt(InputBox("Inserire la somma da cercare",,90))
Call CercaSomme(aCelle,aColoriCelle,nParamCercato,vbGreen ,bRicercaSuRuotaSing , bRicercaInVert)
Case 2 ' distanza
nParamCercato = CInt(InputBox("Inserire la distanza da cercare",,45))
Call CercaDistanze(aCelle,aColoriCelle,nParamCercato,vbGreen)
End Select
' a questo punto nell'array aCelle ho tutti i valori necessari per la tabella di output
' ho anche nell'array aColoriCelle i colori di ciascuna cella, alcuni saranno riamsti
' quelli di default , altri saranno stati alterati dalle funzioni di ricerca che hanno
' individuato le casellle adiacenti
' mostro quindi la tabella
Call PreparaTabella(aCelle,UBound(aCelle,2),aColoriCelle)
End Sub
Sub AlimentaArrayCellle(aCelle,nInizio,nFine)
' questa sub semplicemente alimenta l'array delle celle
' inserendo la data di estrazione, il ritardo e i numeri di
' ciascuna delle righe previste per la tabella
Dim k,r,e,i
Dim nIdEstr
nIdEstr = nInizio ' imposto l'estrazione iniziale
For k = 1 To UBound(aCelle) ' ciclo per le righe dell'array (cioe le righe finali della tabella)
aCelle(k,1) = GetInfoEstrazione(nIdEstr) ' la colonna 1 è la data
aCelle(k,2) = nFine - nIdEstr ' la colonna 2 è il ritardo rispetto all'estrazione finale
' ora faccio un ciclo per alimentare gli estratti delle 11 ruote
i = 2
For r = 1 To 12
If r <> 11 Then
For e = 1 To 5
i = i + 1
aCelle(k,i) = Estratto(nIdEstr,r,e)
Next
End If
Next
nIdEstr = nIdEstr + 1 ' incremento l'estrazione
Next
End Sub
Sub PreparaTabella(aCelle,nColonne,aColoreCelle)
' questa funzione costruisce la tabella di output usando i dati
' presenti in memoria nell'array aCelle , p in grado di impostare
' i colori per le celle perche li legge dall'array aColoreCelle
Dim k,kk,i
ReDim aV(nColonne)
' =========================================================================================
' riga dei titoli , necessita di gestire il ColSpan per unire le 5 caselle del nome ruota
' gestisce il ColSpan
ReDim aV(nColonne)
ReDim aColSpan(nColonne)
aColSpan(1) = 1 ' la prima colonna ha un colspan di 1 cioe copre se stessa
aColSpan(2) = 1 ' la seconda colonna ha un colspan di 1 cioe copre se stessa
' imposto i titoli per le colonne 1 e 2
aV(1) = "<b>Data</b>" ' imposto in grassetto (<b>...</b>)
aV(2) = "<b>Ritardo</b>"
' ora con un ciclo imposto i valori per il colspan delle colonne rimanenti
' e anche il loro valore , notare che per riferirci alla colonna della
' tabella usiamo la variabile i che parte da 2 perche le prime
' 2 colonne le abbiamo pocanzi gestite
i = 2
For k = 1 To 12 ' ciclo sulle ruote
If k <> 11 Then' se non è la ruota tutte
For kk = 1 To 5 ' ciclo sui 5 estratti
i = i + 1 ' incremento l'indice per riferirmi alla colonna della tabella
If kk = 1 Then
' se è la prima delle 5 colonne
aColSpan(i) = 5 ' il col span copre 5 colonne
aV(i) = "<b>" & NomeRuota(k) & "</b>" ' imposto il nome ruota in grassetto
Else
' se non è la prima delle 5 colonne
aColSpan(i) = 0 ' il colspan vale 0 perche gia gestito dalla prima colonna
aV(i) = "" ' anche il valore della cella nella colonna è impostato a stringa vuota
End If
Next
End If
Next
' a questo punto ho la riga dei titoli per la tabella , e ho anche l'array del ColSpan
' ricordiamo che il colspan gestisce l'unione delle 5 colonne con il nome ruota, ogni ruota infatti
' copre 5 colonne che noi gestiamo col ColSpan per fare in modo di unire le celle
Call InitTabella(aV,vbBlue,,,vbWhite,"Courier New",aColSpan)
' ==========================================================================================
' ora che abbiamo inserito la riga per i titoli dobbiamo gestire il contenuto della table
' alimentando tutte le righe con Data, Ritardo ,Estratti
' ricordiamo che questi valor li abbiamo nell'array aCelle
' dobbiamo anche contestualmente colorare le celle , anche in questo caso possiamo
' leggere il colore delle celle dall'array aColoreCelle
ReDim aColori(nColonne) ' preparo l'array per impostare i colori delle celle della singola riga
' di volta in volta leggero i valori dei colori della riga corrente
' prendendoli dall'array aColoreCelle
' ciclo sulle righe dell'array per alimentare tutte le righe della tabella
For k = 1 To UBound(aCelle)
ReDim aV(nColonne) ' dimesiono l'array per impostare i valori della riga per ogni colonna
For kk = 1 To nColonne ' ciclo sulle colonne leggo il valore e il colore delle celle
aV(kk) = aCelle(k,kk) ' leggo il valore
aColori(kk) = aColoreCelle(k,kk) ' leggo il colore
Next
' a questo punto ho sia i valori che i colori per la nuova riga
' quindi la aggiungo alla tabella
Call AddRigaTabella(aV,aColori,,,,"Courier New")
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
' dato che la tabella contiene molti dati per evitare problemi
' di visualizzazione imposto la larghezza in pixel per la tabella
Call SetTableWidth("1900px")
' creo la tabella
Call CreaTabella
End Sub
Sub ImpostaColoriDefault(aColoriCelle,nColoreData,nColoreRit,nColore1,nColore2)
' questa funzione agisce sull'array che memorizza i colori di ciascuna cella
' e ne imposta i colori di default
Dim k,kk
Dim nColonne
Dim i,nColore
nColonne = UBound(aColoriCelle,2) ' ottengo di quante coloenne è fatto l'array
For k = 1 To UBound(aColoriCelle) ' ciclo sulle righe
nColore = nColore1
i = 0
For kk = 1 To nColonne ' ciclo interno sulle colonne
If kk = 1 Then
' se la colonna è la 1 è la data e imposto il colore appropriato
aColoriCelle(k,kk) = nColoreData
ElseIf kk = 2 Then
' se la colonna è la 2 è il ritardo e imposto il colore appropriato
aColoriCelle(k,kk) = nColoreRit
Else
aColoriCelle(k,kk) = nColore
'negli altri casi il colore appropriato è quello per l'area dei numeri estratti
If(kk - 2) Mod 5 = 0 Then
If nColore = nColore1 Then
nColore = nColore2
Else
nColore = nColore1
End If
End If
End If
Next
Next
End Sub
Sub CercaSomme(aCelle,aColoriCelle,nSommaVoluta,nColore,bRuotaSingola,bRicercaVerticale)
' questa funzione opera sull'array delle celle alla ricerca di celle adiacenti
' i cui numeri sommati diano il valore cercato
' quando trova le celle adiacenti che rispettano la condizione
' va ad impostare il colore delle celle nell'apposito array aColoriCelle
Dim k,kk
Dim nColonne
Dim nA,nB,R
nColonne = UBound(aCelle,2)
For k = 1 To UBound(aCelle)
If bRuotaSingola = False Then
For kk = 3 To nColonne - 1
If Fuori90(aCelle(k,kk) + aCelle(k,kk + 1)) = nSommaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
Else
nA = 3
For R = 1 To 11
nB =(nA - 1) + 5
For kk = nA To nB - 1
If Fuori90(aCelle(k,kk) + aCelle(k,kk + 1)) = nSommaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
nA = nB + 1
Next
End If
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
If bRicercaVerticale Then
For k = 1 To UBound(aCelle) - 1
For kk = 3 To nColonne
If Fuori90(aCelle(k,kk) + aCelle(k + 1,kk)) = nSommaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k + 1,kk) = nColore
End If
Next
Call AvanzamentoElab(1,UBound(aCelle) - 1,k)
Next
End If
End Sub
Sub CercaDistanze(aCelle,aColoriCelle,nDistanzaVoluta,nColore,bRuotaSingola,bRicercaVerticale)
' questa funzione opera sull'array delle celle alla ricerca di celle adiacenti
' i cui numeri abbiano distanza del valore cercato
' quando trova le celle adiacenti che rispettano la condizione
' va ad impostare il colore delle celle nell'apposito array aColoriCelle
Dim k,kk
Dim nColonne
Dim nA,nB,R
nColonne = UBound(aCelle,2)
For k = 1 To UBound(aCelle)
If bRuotaSingola = False Then
For kk = 3 To nColonne - 1
If Distanza(aCelle(k,kk),aCelle(k,kk + 1)) = nDistanzaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
Else
nA = 3
For R = 1 To 11
nB =(nA - 1) + 5
For kk = nA To nB - 1
If Distanza(aCelle(k,kk),aCelle(k,kk + 1)) = nDistanzaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
nA = nB + 1
Next
End If
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
If bRicercaVerticale Then
For k = 1 To UBound(aCelle) - 1
For kk = 3 To nColonne
If Distanza(aCelle(k,kk),aCelle(k + 1,kk)) = nDistanzaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k + 1,kk) = nColore
End If
Next
Call AvanzamentoElab(1,UBound(aCelle) - 1,k)
Next
End If
End Sub
Function TipoRicerca
' chiede all'utente il tipo di ricerca
ReDim aVoci(2)
aVoci(1) = "Somme"
aVoci(2) = "Distanza"
TipoRicerca = ScegliOpzioneMenu(aVoci,1,"Tipo ricerca")
End Function
Ciao , ho messo le funzioni piu che altro per far vedere come si fa , ora se hai capito il concetto inserire altre ricerche o evitare le ricerche a cavallo sarà facile...
Option Explicit
Sub Main
Dim nQRigheGriglia
Dim nInizio,nFine
Dim nParamCercato1'Ho aggiunto 1 a nParamCercato
Dim nParamCercato2'Ho aggiunto questa Dim
nQRigheGriglia = 50
nFine = EstrazioneFin
nInizio =(nFine - nQRigheGriglia) + 1
ReDim aCelle(nQRigheGriglia,57)
Call AlimentaArrayCelle(aCelle,nInizio,nFine)
ReDim aColoriCelle(nQRigheGriglia,57)
Call ImpostaColoriDefault(aColoriCelle,vbYellow,RGB(255,196,136),vbWhite)
Select Case TipoRicerca
Case 1
nParamCercato1 = CInt(InputBox("Inserire la prima somma da cercare",,90))
nParamCercato2 = CInt(InputBox("Inserire la seconda somma da cercare",,45))'Ho aggiunto questa inputBox
Call CercaSomme1(aCelle,aColoriCelle,nParamCercato1,vbGreen)'Ho aggiunto 1 alla Sub CercaSomme modificata
Call CercaSomme2(aCelle,aColoriCelle,nParamCercato2,vbYellow)'Ho aggiunto la Call alla nuova Sub creata CercaSomme2 + il nParamCercato2
'e modificato il colore con cui evidenzia la seconda somma
Case 2
nParamCercato1 = CInt(InputBox("Inserire la distanza da cercare",,45))
Call CercaDistanze(aCelle,aColoriCelle,nParamCercato1,vbGreen)
End Select
Call PreparaTabella(aCelle,UBound(aCelle,2),aColoriCelle)
End Sub
Sub AlimentaArrayCelle(aCelle,nInizio,nFine)
Dim k,r,e,i
Dim nIdEstr
nIdEstr = nInizio
For k = 1 To UBound(aCelle)
aCelle(k,1) = GetInfoEstrazione(nIdEstr)
aCelle(k,2) = nFine - nIdEstr
i = 2
For r = 1 To 12
If r <> 11 Then
For e = 1 To 5
i = i + 1
aCelle(k,i) = Estratto(nIdEstr,r,e)
Next
End If
Next
nIdEstr = nIdEstr + 1
Next
End Sub
Sub PreparaTabella(aCelle,nColonne,aColoreCelle)
Dim k,kk,i
ReDim aV(nColonne)
ReDim aV(nColonne)
ReDim aColSpan(nColonne)
aColSpan(1) = 1
aColSpan(2) = 1
aV(1) = "<b>Data</b>"
aV(2) = "<b>Ritardo</b>"
i = 2
For k = 1 To 12
If k <> 11 Then
For kk = 1 To 5
i = i + 1
If kk = 1 Then
aColSpan(i) = 5
aV(i) = "<b>" & NomeRuota(k) & "</b>"
Else
aColSpan(i) = 0
aV(i) = ""
End If
Next
End If
Next
Call InitTabella(aV,vbBlue,,,vbWhite,"Courier New",aColSpan)
ReDim aColori(nColonne)
For k = 1 To UBound(aCelle)
ReDim aV(nColonne)
For kk = 1 To nColonne
aV(kk) = aCelle(k,kk)
aColori(kk) = aColoreCelle(k,kk)
Next
Call AddRigaTabella(aV,aColori,,,,"Courier New")
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
Call SetTableWidth("1900px")
Call CreaTabella
End Sub
Sub ImpostaColoriDefault(aColoriCelle,nColoreData,nColoreRit,nColore)
Dim k,kk
Dim nColonne
nColonne = UBound(aColoriCelle,2)
For k = 1 To UBound(aColoriCelle)
For kk = 1 To nColonne
If kk = 1 Then
aColoriCelle(k,kk) = nColoreData
ElseIf kk = 2 Then
aColoriCelle(k,kk) = nColoreRit
Else
aColoriCelle(k,kk) = nColore
End If
Next
Next
End Sub
Sub CercaSomme1(aCelle,aColoriCelle,nSommaVoluta1,nColore)'Ho modificato la Sub in CercaSomme1 e relativi parametri
Dim k,kk
Dim nColonne
nColonne = UBound(aCelle,2)
For k = 1 To UBound(aCelle)
For kk = 3 To nColonne - 1
If Fuori90(aCelle(k,kk) + aCelle(k,kk + 1)) = nSommaVoluta1 Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
End Sub
Sub CercaSomme2(aCelle,aColoriCelle,nSommaVoluta2,nColore)'Ho aggiunto questa Sub con nSommaVoluta2
Dim k,kk
Dim nColonne
nColonne = UBound(aCelle,2)
For k = 1 To UBound(aCelle)
For kk = 3 To nColonne - 1
If Fuori90(aCelle(k,kk) + aCelle(k,kk + 1)) = nSommaVoluta2 Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
End Sub
Sub CercaDistanze(aCelle,aColoriCelle,nDistanzaVoluta,nColore)
Dim k,kk
Dim nColonne
nColonne = UBound(aCelle,2)
For k = 1 To UBound(aCelle)
For kk = 3 To nColonne - 1
If Distanza(aCelle(k,kk),aCelle(k,kk + 1)) = nDistanzaVoluta Then
aColoriCelle(k,kk) = nColore
aColoriCelle(k,kk + 1) = nColore
End If
Next
Call AvanzamentoElab(1,UBound(aCelle),k)
Next
End Sub
Function TipoRicerca
ReDim aVoci(2)
aVoci(1) = "Somme"
aVoci(2) = "Distanza"
TipoRicerca = ScegliOpzioneMenu(aVoci,1,"Tipo ricerca")
End Function