Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Formula Excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Formula Excel

Postdi Avatar3 » 10/07/11 13:19

Leggi mio post precedente
se vuoi avere il minimo ritardo quindi ciò che è già scritto nei blocci riga 305

non devi far altro che copiare o tagliare questa riga di codice nella Select case
Codice: Seleziona tutto
Case 1 '<<< esistente (lasciare)
  Estratto = Estratto + 1  '<<< esistente (lasciare)
 Cells(305, CC + 2).Value = UR - RR '<<< esistente (lasciare)
 'Cells(318 + (ciclo - 1) * 2, FoB).Value = UR - RR  Copiare e commentare o tagliare per incollare dove indicato
Case 2 '<<< esistente (lasciare)


Togli quella riga codice dalla posizione precedentemente indicata e incollala nella posizione qui sotto indicata
Codice: Seleziona tutto
 If EV > 0 Then  '<<< esistente
                    Cells(318 + (ciclo - 1) * 2, FoB).Value = UR - RR   '<<< incollare qui
                    Conc = Val(Cells(RR, 1))  '<<<<< esistente
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Sponsor
 

Re: Formula Excel

Postdi Lucio Peruggini » 10/07/11 14:01

Immagine

FINAAAAAAAAAAAAAAAAAAALMENTE siamo arrivati grazie a te, alla fine di questo quasi tormentato lavoro.

Non c'è fretta, ci sarebbe ancora quella piccola correzione sulla macro del blocco unico come ti ho postato precedentemente facendotti un pochino arrabbiare.

Peraltro, mi senbra di aver capito che qui si può aggiungere fino a quattro blocchi?


Immagine
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 10/07/11 14:18

Alla fine cosa hai deciso per il minimo o per l'estratto (riga 318,320,322)?

Qui puoi aggiungere anche il quarto blocco

Chiariamo prima se questo progetto è chiuso o no!
perché se mi dici Finalmente siamo arrivati!!! e poi continui con
"ci sarebbe ancora quella piccola correzione sulla macro del blocco unico"


rimango confuso
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 10/07/11 14:56

Alla fine cosa hai deciso per il minimo o per l'estratto (riga 318,320,322)?


Per il minimo ma ho lasciato l'apice davanti alla situazione precedente (non si sa mai).


Chiariamo prima se questo progetto è chiuso


Si, questo è chiuso! Volove solamente capire se potevo nell'eventualità aggiungere un blocco.

La correzione riguarda la macro con un solo blocco che è poi quello con il quale faccio la maggior parte delle verifiche.

Inserisco la macro laddove si tratta di ottenere anche qui quanto hai fatto con l'ultima; cioè dare alla stringa "estratto" tutti i valori della 305.

Codice: Seleziona tutto
Sub ColATQC_E_Storico_1SoloBlocco()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UR = 302
Col = 18
Passo = 68
PassoSt = 23
ColI = 59
ColF = ColI + 54
Worksheets("Foglio1").Select
Range("BG305:DJ305").ClearContents
For Ciclo = 1 To 1
    Range(Cells(3, ColI + (Ciclo - 1) * Passo), Cells(UR, ColF + (Ciclo - 1) * Passo)).Interior.ColorIndex = xlNone
    SR = 0
    FoB = 2
    riga = UR + 13
    Col = Col + Passo
    For CC = 59 + (Ciclo - 1) * Passo To 113 + (Ciclo - 1) * Passo Step 5
    FoB = FoB + 2
        SR = SR + 1
        CCS = 1 + PassoSt * (Ciclo - 1) + (SR - 1) * 2
        CCS2 = 1 + PassoSt * (Ciclo) + (SR - 1) * 2
        riga = riga + 1
        Estratto = 0
        Ambi = 0
        Terni = 0
        Quaterne = 0
        Cinquine = 0
        For RR = 3 To UR
            EV = 0
            ContaA = 0
            For CCR = CC + 0 To CC + 4
                If Val(Cells(RR, CCR)) > 0 Then
                    ContaA = ContaA + 1
                    If ContaA > 1 Then EV = 2
                    If ContaA = 1 Then EV = 1
                End If
                Next CCR
                CI = xlNone
                Select Case ContaA
                Case 1
                Estratto = Estratto + 1
                    Cells(305, CC + 2).Value = UR - RR
                    Cells(314, FoB).Value = UR - RR
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    Cells(305, CC + 2).Value = UR - RR
                    Cells(312, FoB).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                      Cells(305, CC + 2).Value = UR - RR
                      Cells(312, FoB).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                      Cells(305, CC + 2).Value = UR - RR
                      Cells(312, FoB).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                     Cells(305, CC + 2).Value = UR - RR
                     Cells(312, FoB).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
                If EV > 0 Then
                    Conc = Cells(RR, 1)
                    URS2 = Worksheets("Storici").Cells(Rows.Count, CCS2).End(xlUp).Row
                    ConcSt2 = Worksheets("Storici").Cells(URS2, CCS2).Value
                    If Conc > ConcSt2 Then
                        Worksheets("Storici").Cells(URS2 + 1, CCS2).Value = Conc
                        Worksheets("Storici").Cells(URS2 + 1, CCS2 + 1).Value = Conc - ConcSt2
                    End If
                    If EV = 2 Then
                        URS = Worksheets("Storici").Cells(Rows.Count, CCS).End(xlUp).Row
                        ConcSt = Worksheets("Storici").Cells(URS, CCS).Value
                        If Conc > ConcSt Then
                            Worksheets("Storici").Cells(URS + 1, CCS).Value = Conc
                            Worksheets("Storici").Cells(URS + 1, CCS + 1).Value = Conc - ConcSt
                        End If
                    End If
                End If
            Next RR
            Cells(riga, Col).Value = Estratto
            Cells(riga, Col + 1).Value = Ambi
            Cells(riga, Col + 2).Value = Terni
            Cells(riga, Col + 3).Value = Quaterne
            Cells(riga, Col + 4).Value = Cinquine
        Next CC
    Next Ciclo
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 10/07/11 15:01

Rimani in linea e rispondimi subito
così completiamo secondo l'esigenza che credo di aver capito

1) puoi aggiungere fino al 6° blocco (decine)

2) posso non farti intervenire nella macro ma dedicare due celle a tua scelta sul foglio1
nele quali potrai decidere quale blocco processare es.: inizio 5 (per le cinquine) fine 6 (per le sestine)
oppure inizio 7 fine 7 in questo caso processerai solo le settine
dimmi solo le due celle nelle quali inserire questi dati (inizio - fine)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Avatar3 » 10/07/11 15:56

Visto che sei sparito ho fatto di testa mia
allego il file
http://www.filedropper.com/ambietutte5_1

modifiche apportate
Ogni volta che cambi i numeri in tabella (di ricerca in cinquina, sestina etc)
le corrispondenti celle in colonna A perderanno il colore (significa che non è stato processato quel blocco)
Quando viene processato uno o più blocchi le celle saranno verdi

In AR310 puoi definire quali blocchi processare inizio 5 (per cinquine = 1° Blocco; 6 per sestine = 2° Blocco; etc)
In AT310 determini la fine del ciclo se inserisci lo stesso Numero di Inizio processerai solo quel blocco
altriementi dal blocco Inizio a Blocco Fine (è un elenco con convalida)
nelle variazioni di una di queste celle potresti avere un messaggio di avvertimento che il blocco Inizio non può essere maggiore del blocco Fine o viceversa e il programma setterà le due celle con valore identico.

L'unica cosa che devi fare è modificare i Range nel VBA del foglio1
in quanto non ho i riferimenti per colonne superiori a IV
quindi dovrai mettere I range corretti per le Ottine, Novine e decine

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Blocco1 = "BW316:CF326"
Blocco2 = "EM316:EV326"
Blocco3 = "HC316:HL326"
Blocco4 = "HC316:HL326"  '<<<<<< inserire il range corretto su excel 2007 per le ottine
Blocco5 = "HC316:HL326"  '<<<<<< inserire il range corretto su excel 2007 per le novine
Blocco6 = "HC316:HL326"  '<<<<<< inserire il range corretto su excel 2007 per le decine



Puoi sostituire le righe-codice relative ai blocchi con queste righe (più "elegante")
Codice: Seleziona tutto
If Not Application.Intersect(Target, Range(Blocco1)) Is Nothing Then
Range("A312, A324").Interior.ColorIndex = xlNone
End If
If Not Application.Intersect(Target, Range(Blocco2)) Is Nothing Then
Range("A314, A326").Interior.ColorIndex = xlNone
End If
If Not Application.Intersect(Target, Range(Blocco3)) Is Nothing Then
Range("A316, A328").Interior.ColorIndex = xlNone
End If
If Not Application.Intersect(Target, Range(Blocco4)) Is Nothing Then
Range("A318, A330").Interior.ColorIndex = xlNone
End If
If Not Application.Intersect(Target, Range(Blocco5)) Is Nothing Then
Range("A320, A332").Interior.ColorIndex = xlNone
End If
If Not Application.Intersect(Target, Range(Blocco6)) Is Nothing Then
Range("A322, A334").Interior.ColorIndex = xlNone
End If


Testalo e speriamo vada bene :D
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 10/07/11 19:25

Scusami ma oggi son dovuto uscire e solo ore sto vedendo cosa hai fatto.

Dopo cena controllo; mi sa tanto che mi hai preparato il compito per la nottata. Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 10/07/11 21:03

No, no,
è facilissimo prima scarichi il file così come è
e usi solo i tre cicli predisposti

poi farai le modifiche dell'ultimo post
penso che meglio di così non si può fare (Lucio Peruggini permettendo) :D
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 10/07/11 22:00

Ho scaricato il file, ad essere sincero meriti un altro applauso; mi hai letto nel pensiero? Hai fatto più di quanto ho chiesto.

C'è solo un piccolo particolare cui ho accennato in un post precedente:

Cercare dalle ottine in poi con il mio programma e il mio PC ma penso anche altri superiori al mio, è un'impresa ardua. Le combinazioni sono enormi; per questo avevo detto "ci vorrebbe il computer della lottomatica".

Solo per curiosità, allego immagini delle combinazioni per ambo o estratto che bisognerebbe processare per i 90 numeri; sono una quantità enorme che a stento riesco a leggere.

Immagine

C'è un però:

Qui penso mi venga incontro il programma di Flash.

Ora implemento gli altri blocchi 8,9,10 visto che con l'ottima idea dei pulsanti posso scegliere cosa processare. Ma dimmi: i due pulsanti posso spostarli e inserirli qui?

Immagine

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 10/07/11 22:22

I pulsanti?
l'elenco di convalida vuoi dire?
se così li puoi mettere ovunque
ma devi cambiare i riferimenti nel vba del foglio dove legge Inizio e Fine fornendo i nuovi riferimenti
e anche nel
Codice: Seleziona tutto
For ciclo = Range("AR310").value - 4 to Range("AT310").value - 4


Inoltre l'elenco di convalida lo trovi alla riga 400 circa della colonna A
potrai mettere 1 invece di 5, 2 per 6 etc
(se è più pratico per te avere il numero blocco invece che i 5 numeri di cinquina, 6 numeri per sestina etc)

ma in quel caso nella macro il ciclo cambia da come lo vedi sopra a
Codice: Seleziona tutto
For [code]ciclo = Range("AR310").value  to Range("AT310").value code] (nuovi riferimenti)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 10/07/11 23:09

C'è qualcosa che non va oppure non ho fatto bene.

Ho incollato le macro dal tuo foglio al mio.
Ho incollato tutto lo schema (quello sotto l'archivio) nel mio foglio.
Poi ho incollato i due pulsanti e cambiato i riferimenti nel For.

Ma, cliccando sui pulsanti e quindi sulla frecciolina che indica la scelta dei blocchi, il menù a tendina che si apre è vuoto.
La macro parte e probabilmente esamina solamente il blocco cinquine ma non saprei visto che non ho la possibilità di impostare il ciclo di esecuzione. Non saprei.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 10/07/11 23:24

Lucio Peruggini ha scritto:C'è qualcosa che non va oppure non ho fatto bene.

Ho incollato le macro dal tuo foglio al mio.
Ho incollato tutto lo schema (quello sotto l'archivio) nel mio foglio.
Poi ho incollato i due pulsanti e cambiato i riferimenti nel For.

Ma, cliccando sui pulsanti e quindi sulla frecciolina che indica la scelta dei blocchi, il menù a tendina che si apre è vuoto.
La macro parte e probabilmente esamina solamente il blocco cinquine ma non saprei visto che non ho la possibilità di impostare il ciclo di esecuzione. Non saprei.



Risolto:
Ho riconvertito il tuo file in excel 2007, ora inserisco gli altri blocchi.

Immaginavo che avrei fatto notte fonda ma del resto non è la prima volta.

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 10/07/11 23:49

Ti consiglio di formattare tutti i blocchi
anche se poi non li usi
ma io proverei a processare le ottine
non credo occorrano due ore come dici
I tuoi blocchi sono formati da tabelle con delle formule
quindi i dati si aggiornano quasi subito
la macro scansiona il blocco per 300 righe e 55 colonne
ma penso che riuscirai a fare questo in meno di un minuto per il solo blocco ottine

Forse le due ore da te dichiarate si riferiscono ad un altro programma da te realizzato che calcola gli 8 numeri per ruota
che è tutt'altra cosa
Mi confermi che è così?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 11/07/11 00:06

Il tempo impiegato (2 ore per le sole ottine) non è riferito all'excel che sto adoperando e quindi al programmino che hai costruito con tanta pazienza direi da "certosino", ma alla ricerca degli otto numeri più frequenti che fa il mio programma. Poichè le combinazioni sono 77 miliardi e fischia di otto numeri più frequenti x i 90 numeri del lotto, il tempo è lungo.

Le due ore sono solamente per le ottine, pensa quanto tempo impiegherebbe per le combinazioni di 9 numeri su 90 più frequenti; esse equivalgono a più di 706 miliardi.

Dunque, non l'excel ma il mio programma; che ovviamente sarebbe più veloce con un PC più performante.

L'excel ci impiegherà trenta secondi a processare tutti i blocchi insieme.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 11/07/11 00:19

Ho letto che tu stesso hai notato la concordanza dei tuoi numeri con quelli generati dal programma pubblicato da Flash e Paciola
Potresti usare quel programma, in quel topic non si parlava di 2 ore di esecuzione per estrapolare i numeri frequenti su condizione
L'importante è che giochi altrimenti...
Hai sentito?
Faremo la fine della Grecia :D
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 11/07/11 00:47

IL PROG. DI FLASH E' GIA' PRESO IN CONSIDERAZIONE!!!

Per quanto riguarda il gioco, esso non ha mai arricchito nessuno se non come giustamente Flash ha asserito per un bel colpo di (K!!!!!). Il miglior modo per vincere è "NON GIOCARE AFFATTO".
Anzi, se tutti non giocassimo affatto, lo stato inizierebbe a pagare più equamente questo gioco e allora forse.......

Mi sono perso qualcosa a proposito "Grecia"? Oggi non ho ascoltato telegiornali.

Dimenticavo: dietro il PC e lotto ci passo le nottate come tu le passi nel fare quello che fai. E' un modo come un altro per mantenersi quantomeno attivi.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 11/07/11 00:59

Lucio Peruggini ha scritto:E' un modo come un altro per mantenersi quantomeno attivi.

Hai ragione
in un certo senso questo ci gratifica
Meglio così che sentirsi gratificati per aver "buggerato" il prossimo
(pratica attuata da molti oggigiorno perché così facendo pensano di essere più "furbi")
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 11/07/11 01:10

Immagine

Se questo può contribuire, ho appena terminato il lavoro.

E' SUPERLATIVO!!!!!

Avrai intuito dalla schermata che tutto ha funzionato a meraviglia. Addirittura, nel foglio Storici ho lasciato solo la prima riga utilile cancellando nei blocchi tutto il rimanente. Orbene, il tutto è stato ricomposto magnificamente. Forse ci sarebbe ancora un piccolo accorgimento, ne parliamo domani; per il momento è OKKKKKKKKKKKKKKKKKKK.

Buona notte
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 11/07/11 01:13

in un certo senso questo ci gratifica
Meglio così che sentirsi gratificati per aver "buggerato" il prossimo
(pratica attuata da molti oggigiorno perché così facendo pensano di essere più "furbi")


Questo è un sentimento molto nobile che ti fa onore e che condivido pienamente.

Che la forza di Dio sia con te e la tua famiglia.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 11/07/11 02:00

Anche a te e ai tuoi cari
:)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Formula Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti