Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CALCOLO

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: CALCOLO

Postdi Lucio Peruggini » 23/05/11 09:33

http://screenshotuploader.com/s/C5BoZVy7keI

Mi da errore ma chiedo:

Questa macro mi da la possibilità di impostare il range estrazionale sul quale vorrei il controllo?

Per fondo giallo intendi che gli ambi devono essere già evidenziati? In tal caso il procedimento è duplice:
Devo prima far partire una macro, poi l'altra; oppure ho spiegato malamente cosa essa dovrebbe cercare?

Questa, in base al rage estrazionale impostato e quindi su archivio non colorato deve con i numeri immessi nella prima riga per l'appunto cercare gli ambi, colorarli, e segnarmi il ritardo dall'estrazione di partenza.

Comunque, se è troppo complicato, lasciamo perdere. Non voglio rubarti tempo prezioso per cose futili come il lotto; anzi ti ringrazio per quanto e con pazienza hai già fatto.

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

Sponsor
 

Re: CALCOLO

Postdi Lucio Peruggini » 23/05/11 09:58

Lucio Peruggini ha scritto:http://screenshotuploader.com/s/C5BoZVy7keI

Mi da errore ma chiedo:

Questa macro mi da la possibilità di impostare il range estrazionale sul quale vorrei il controllo?

Per fondo giallo intendi che gli ambi devono essere già evidenziati? In tal caso il procedimento è duplice:
Devo prima far partire una macro, poi l'altra; oppure ho spiegato malamente cosa essa dovrebbe cercare?

Questa, in base al rage estrazionale impostato e quindi su archivio non colorato deve con i numeri immessi nella prima riga per l'appunto cercare gli ambi, colorarli, e segnarmi il ritardo dall'estrazione di partenza.

Comunque, se è troppo complicato, lasciamo perdere. Non voglio rubarti tempo prezioso per cose futili come il lotto; anzi ti ringrazio per quanto e con pazienza hai già fatto.

Un caro saluto



Forse ho capito il perchè dell'errore, dammi conferma.

Stavo facendo girare la macro solamente su una ruota; può essere questo il motivo?
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: CALCOLO

Postdi Avatar3 » 23/05/11 10:42

1) la macro ricerca le celle con fondo giallo nel range estrazionale compreso tra il concorso inserito in J1 e in K1 come avevi richiesto.
2) al fine di evitare di dover trovare di nuovo gli ambi ho sfruttato il colore della cella anche perché mi avevi dato risposta affermativa riguardo l'uso della macro che colorava prima di avviare questa nuova macro (vedi post precedenti)
3) io l'ho fatta girare sul file che mi avevi mandato e aveva solo 3 ruote (Ba, Ca, Fi) e funzionava, su una sola ruota non l'ho provata ma ho considerato che avessi l'archivio su un unico foglio (con tutte le ruote), può darsi che si dovrà fare una semplice modifica.
4) Per far girare l'ultima macro (Ritardi ambo) è sufficiente richiamarla prima dell'End Sub della macro che colora.

Ho fatto le 4:30 di notte per realizzare il programma, se non ti occorreva sarebbe stato più opportuno avvisarmi prima :aaah

Ciao
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: CALCOLO

Postdi Avatar3 » 23/05/11 13:02

Aggiungo che c'è un bug nel programma
e bisogna correggere due righe del codice

Prima riga da correggere da così
Codice: Seleziona tutto
For TR = 0 To UR Step Passo

a così
Codice: Seleziona tutto
For TR = 0 To UR - Passo Step Passo


Seconda riga da così
Codice: Seleziona tutto
                For RRA = RR + 1 To Riga(2)

a così
Codice: Seleziona tutto
                For RRA = RR + 1 To Riga(2) + TR


Ora dovrebbe essere perfetto!
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: CALCOLO

Postdi Lucio Peruggini » 23/05/11 13:23

Grazie Avatar, correggo e ti farò sapere. Intanto stavo proprio rispondendo alla tua precedente.
-----------------------------------------------------------------------------------------------------------------


Mamma mia quanto è difficile scrivere senza voler urtare la sensibilità altrui!

Caro amico Avatar, chiedo scusa ma hai mal interpretato il mio pensiero. Per la verità non so proprio come ringraziarti per quanto hai fatto.

Ho scritto:

“(Comunque, se è troppo complicato, lasciamo perdere. Non voglio rubarti tempo prezioso per cose futili come il lotto; anzi ti ringrazio per quanto e con pazienza hai già fatto.)”

Voleva essere esclusivamente un grande apprezzamento per il lavoro svolto e il tempo che mi hai dedicato.

Certo che mi serve il lavoro svolto altrimenti non l’avrei chiesto. Questo per me è un passare il tempo; mantenere la mente attiva; spero di aver chiarito.

Ritornando alla macro

“1) la macro ricerca le celle con fondo giallo nel range estrazionale compreso tra il concorso inserito in J1 e in K1 come avevi richiesto.”
Le celle con fondo giallo appartenevano ad ambi e estratti aventi come matrice i cinque numeri della riga uno; ovviamente cambiando numeri le celle cambiano. La nuova macro, dunque, deve fare il lavoro della prima (cercare i numeri inseriti, colorarli e segnare il ritardo dalla estrazione di partenza).

“2) al fine di evitare di dover trovare di nuovo gli ambi ho sfruttato il colore della cella anche perché mi avevi dato risposta affermativa riguardo l'uso della macro che colorava prima di avviare questa nuova macro (vedi post precedenti)”
Gli ambi sono in relazione ai numeri inseriti e quindi non gli stessi ma variabili. Alla tua domanda:

“vorrei sapere se i numeri nelle colonne C:G sono già stati elaborati con le macro precedenti e quindi sono evidenziati con fondo giallo.”

Ho risposto (vero), però cosa centra con i numeri che di volta in volta cambiano? La nuova macro, infatti, deve svolgere il lavoro della prima (colorare) e in più segnare i ritardi.

“3) io l'ho fatta girare sul file che mi avevi mandato e aveva solo 3 ruote (Ba, Ca, Fi) e funzionava, su una sola ruota non l'ho provata ma ho considerato che avessi l'archivio su un unico foglio (con tutte le ruote), può darsi che si dovrà fare una semplice modifica.”
Ho messo solo una ruota per accorciare i tempi di ricerca; in attesa della nuova macro che mi avrebbe permesso una ricerca ristretta nel range estrazionale.

“4) Per far girare l'ultima macro (Ritardi ambo) è sufficiente richiamarla prima dell'End Sub della macro che colora.”
Non afferrato! Io ho copiato la nuova macro, l’ho assegnata al foglio excel ed è venuto fuori l’errore che ti ho segnalato.


Sto uscendo, quando torno correggerò la macro e ti faccio sapere.
Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: CALCOLO

Postdi Avatar3 » 23/05/11 16:13

Invio direttamente il file con le macro complete ( a me non dà errore)
https://rapidshare.com/files/2613147341/RitardiNumeriv3.zip
Devi avviare solo la prima macro "ColoraEContaRit"
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: CALCOLO

Postdi Lucio Peruggini » 23/05/11 16:39

http://screenshotuploader.com/s/kCRLsO6WI3O

Buona serata

Leggi all'interno, grazie
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: CALCOLO

Postdi Lucio Peruggini » 23/05/11 17:26

http://screenshotuploader.com/s/gSngV3ITTqE

OTTIMO LAVORO!!!

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

Re: CALCOLO

Postdi Avatar3 » 23/05/11 17:40

Penso che stai cambiando le carte in tavola

Sono spariti tutti gli screenshot da te pubblicati dove dicevi quali erano i tipi di ritardi da riportare che si riferivano a qualsiasi numero tra i numeri di ricerca e non per singolo numero :roll:
Comunque riporto un tuo post (forse ti è sfuggito) dove accettavi il discorso dei ritardi della colonna I e aggiungevi un'implementazione dei soli ambi

Lucio Peruggini ha scritto:http://screenshotuploader.com/s/XJsSwhpNrGO

Un pochino più difficile, ma non per voi!!!

Se necessita invio anche l'excel.
Grazie


Ora stai mettendo in discussione la colonna I (che tra l'altro qualche post fa dicevi che non occorreva più)

-----------------------------
Ti spiego come funziona il programma inviato nell'ultimo file
1) colora tutti i numeri dell'archivio dei quali farai la ricerca (senza rispettare alcun range)
2) inerisce i ritardi, nella colonna I, dei numeri (qualsiasi esso sia compreso nel range dei numeri da ricercare come richiesto da te inizialmente e riportato nel tuo post qui sopra)

3) Implementazione Ambo: cerca gli ambi singoli nel range indicato in J1 (inizio) e K1 (fine range) inserisce il ritardo del singolo ambo nella colonna J. In questo caso, e solo in questo caso, viene utilizzato il range estrazionale e riporta solo i ritardi dell'ambo; questa volta differenziando da ambo a ambo.
La ricerca è fatta su caselle colorate dalla prima macro che è necessaria per far funzionare questa implementazione.

A questo punto penso di aver soddisfatto la richiesta e non penso di dedicare altro tempo se si continuano a cambiare le specifiche iniziali.

Edit: ci siamo accavallati nell'ultimo post ma ormai avevo inviato il mio
Spiego che la colorazione e i ritardi della colonna I essendo fatta per singolo numero deve essere eseguita su tutto l'archivio che utilizzeremo per la ricerca degli ambi nel range estrazionale.
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: CALCOLO

Postdi Lucio Peruggini » 23/05/11 18:37

Credo ci voglia una pausa caffè.

Questo è quanto ho scritto qualche post orsono e non credo affatto di aver cambiato nulla. I ritardi impostati in quella maniera sono e servono ancora per un certo tipo di ricerca.
Con questa macro, sin dall'inizio avevo chiesto anche la modifica della colonna "I". L'avrei anche eliminata per semplificare il compito arduo.
Mi rendo altresì conto di aver chiesto a sufficienza fino al punto di stancarti.

Grazie molte


Re: CALCOLO

Messaggiodi Lucio Peruggini » 23/05/11 00:14
Dimenticavo: se può essere meno impegnativo possiamo anche eliminare la colonna "I" con i ritardi dei numeri singoli; quello che conta, sono le righe che contengono almeno due numeri.

Peraltro questo tipo di ritardo in colonna "I" mi è servito per una ricerca particolare di gruppi numerici e se si riuscisse, farebbe comodo avere anche la colonna "I" ma contando il ritardo del singolo numero dall'estrazione di partenza, come gli ambi.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: CALCOLO

Postdi Avatar3 » 23/05/11 19:31

Grazie per il caffé preso all'aria aperta :)

Facciamo così...
pubblica uno stralcio del foglio
inserendo e facendo vedere i numeri di ricerca
le celle che vorresti vedere colorate (colonne C:G)
i ritardi nella colonna I (con l'effettivo valore del caso specifico)
e i ritardi nella colonna J (che mi sembra di aver capito vadano bene)

Poi vedrò come modificare il tutto

ciao
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: CALCOLO

Postdi Lucio Peruggini » 23/05/11 21:22

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

Re: CALCOLO

Postdi Avatar3 » 23/05/11 21:50

A me sembra tutto stravolto

Mi riferisco alla colonna "I"
allora il numero 73 lo troviamo insieme al 5 nell'estrazione 3957 e quindi ha un ritardo di 7 estrazioni, ok
poi troviamo il 73 nell'estrazione 3959 quindi il suo ritardo dovrebbe essere 2 e non 9 come da te riportato (posso solo capire che nel primo caso era abbinato al 5 e nel secondo era solo ma...)

il 70 uscito nell'estrazione 3961 ha un ritardo pari a 11 rispetto alla prima estrazione
ma lo ritroviamo anche nell'estrazione successiva 3962 quindi avrà un ritardo 1 e non 12 come da te segnalato
insomma a me sembra che stai contando solo le righe dalla prima estrazione e lasci la cella vuota nella colonna I se non esiste alcun numero nell'estrazione corrispondente.

Poi mi hai ripetuto più volte che non volevi evidenziare i numeri singoli ma solo gli ambi e qui vedo che i numeri singoli sono, invece, evidenziati

E nella colonna J non vuoi più calcolare i ritardi degli ambi tanto richiesti precedentemente

Fai una cosa:
1) pensa bene a che tipo di analisi vuoi
2) provala su un range limitato a poche righe (quante necessarie)
3) valuta attentamente i risultati ottenuti
4) se sei veramente convinto che debba essere così
5) rimetti in discussione tutto e prova un'altra analisi che con l'esperienza fatta sicuramente sarà più soddisfacente della prima
6) prova a simularla e quando sei sicuro ma proprio sicuro che è quella definitiva
7) proponila qui altrimenti riprendi dal punto 5)
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: CALCOLO

Postdi Flash30005 » 23/05/11 21:57

Nota per Lucio Peruggini

Leggere attentamente il regolamento posto come primo topic di questa sezione

http://www.pc-facile.com/forum/viewtopic.php?f=26&t=46435

Grazie

Nota per Avatar3 se vuoi aiutare, aiuta
evita possibilmente forme polemiche
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: CALCOLO

Postdi Lucio Peruggini » 23/05/11 22:22

Scusatemi, ho preso una cantonata enormeeeee!!!!!

La pausa caffè mi ha fatto male.

Con calma risistemo il tutto; sono veramente mortificato.

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

Re: CALCOLO

Postdi Lucio Peruggini » 24/05/11 00:30

Ok, Avatar.
Lasciamo tutto com'è, va più che bene!
Rinnovo il mio grazie per il tempo che hai dedicato.
Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: CALCOLO

Postdi Avatar3 » 24/05/11 01:39

Ok
Hai chiesto più volte che avresti voluto colorare solo i numeri nel range estrazionale definito da J1 e K1
quindi ho modificato la macro e unificata
Codice: Seleziona tutto
Sub ColoraEContaRit4()
Application.ScreenUpdating = False
Application.Calculation = xlManual
    UC = Worksheets("Archivio con Macro").Range("IV1").End(xlToLeft).Column
UR = Worksheets("Archivio con Macro").Range("A" & Rows.Count).End(xlUp).Row
    Worksheets("Archivio con Macro").Range("C1:G" & UR).Interior.ColorIndex = xlNone
        Worksheets("Archivio con Macro").Columns("I:I").ClearContents
If UR < 2 Then UR = 2
Worksheets("Archivio con Macro").Range("J2:J" & UR).ClearContents
Passo = 0
Dim Riga(2) As Integer
RigaI = Worksheets("Archivio con Macro").Range("J1").Value
RigaF = Worksheets("Archivio con Macro").Range("K1").Value


For RR = 2 To UR
If Worksheets("Archivio con Macro").Range("B" & RR).Value = "Ba" Then
Passo = Passo + 1
Else
GoTo SaltaRR
End If
Next RR
SaltaRR:


For RR = 2 To Passo
If RigaI = Worksheets("Archivio con Macro").Range("A" & RR).Value Then Riga(1) = RR
If RigaF = Worksheets("Archivio con Macro").Range("A" & RR).Value Then
Riga(2) = RR
GoTo SaltaRR2
End If
Next RR
SaltaRR2:

For TR = 0 To UR - Passo Step Passo
ContaR = 0
   Area = "C" & Riga(1) + TR & ":G" & Riga(2) + TR
    Ruota = ""
    For CC = 12 To UC
        ValC = Cells(1, CC).Value
        For Each ValCa In Worksheets("Archivio con Macro").Range(Area)
            If ValC = ValCa Then
            ValCa.Interior.ColorIndex = 6
            If Worksheets("Archivio con Macro").Cells(ValCa.Row, 9).Value = "" Then Worksheets("Archivio con Macro").Cells(ValCa.Row, 9).Value = 1

            End If
        Next
    Next CC

For RR = Riga(1) + TR To Riga(2) + TR
    RigaI = Worksheets("Archivio con Macro").Range("J1").Value
    If Worksheets("Archivio con Macro").Range("A" & RR).Value = RigaI Then
        ContaR = 0
        Worksheets("Archivio con Macro").Range("I" & RR).Value = 0
    Else
        If Worksheets("Archivio con Macro").Range("I" & RR).Value = "" Then
            ContaR = ContaR + 1
        Else
            Worksheets("Archivio con Macro").Range("I" & RR).Value = ContaR + 1
            ContaR = 0
        End If
    End If
    Next RR
For RR = Riga(1) + TR To Riga(2) + TR
RigaI = Worksheets("Archivio con Macro").Range("J1").Value
       Ca = 0
    For CC = 3 To 7
        If Worksheets("Archivio con Macro").Cells(RR, CC).Interior.ColorIndex = 6 Then
            Ca = Ca + 1
            If Ca = 1 Then Num1 = Format(Worksheets("Archivio con Macro").Cells(RR, CC).Value, "00")
            If Ca = 2 Then
                Num2 = Format(Worksheets("Archivio con Macro").Cells(RR, CC).Value, "00")
               If Worksheets("Archivio con Macro").Cells(RR, 10).Value = "" Then Worksheets("Archivio con Macro").Cells(RR, 10).Value = Worksheets("Archivio con Macro").Cells(RR, 1).Value - RigaI
                RigaI = Worksheets("Archivio con Macro").Cells(RR, 1).Value
                For RRA = RR + 1 To Riga(2) + TR
                    ContaA = 0
                    For CeA = 3 To 7
                        If Worksheets("Archivio con Macro").Cells(RRA, CeA).Interior.ColorIndex = 6 Then
                            ContaA = ContaA + 1
                            If ContaA = 1 Then NumA = Format(Worksheets("Archivio con Macro").Cells(RRA, CeA).Value, "00")
                            If ContaA = 2 Then
                                NumB = Format(Worksheets("Archivio con Macro").Cells(RRA, CeA).Value, "00")
                                If (Num1 = NumA And Num2 = NumB) Or (Num1 = NumB And Num2 = NumA) Then
                                   If Worksheets("Archivio con Macro").Cells(RRA, 10).Value = "" Then Worksheets("Archivio con Macro").Cells(RRA, 10).Value = Worksheets("Archivio con Macro").Cells(RRA, 1).Value - RigaI
                                    RigaI = Worksheets("Archivio con Macro").Cells(RRA, 1).Value
                                    GoTo SaltaRRa
                                End If
                            End If
                        End If
                    Next CeA
SaltaRRa:
               Next RRA
            End If
        End If
    Next CC
Next RR
Next TR
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Avrai così solo i ritardi del range voluto per tutte le ruote dell'archivio

Ciao
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: CALCOLO

Postdi Lucio Peruggini » 24/05/11 21:05

http://screenshotuploader.com/s/LCypmPLb9KW

http://screenshotuploader.com/s/kdqyj7k3XTn

Grazie per il regalo inaspettato, funziona che è una meraviglia!!! Ti chiedo ancora scusa per ieri, dovevo staccare un pochino la spina.

La foto che ti allego mi viene fuori come errore se imposto il secondo step all'ultima estrazione nel foglio.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: CALCOLO

Postdi Avatar3 » 24/05/11 21:20

E' vero!

Non viene letta l'ultima riga di ogni ruota per un bug che si può correggere aggiungendo 1 alla riga codice del for...next al di sopra della riga evidenziata dall'errore visibile sull'immagine che hai inviato

Codice: Seleziona tutto
For RR = 2 To Passo + 1  '<<<<<<<<<< aggiungere +1 qui, il resto lascia tutto come è
If RigaI = Worksheets("Archivio con Macro").Range("A" & RR).Value Then Riga(1) = RR
If RigaF = Worksheets("Archivio con Macro").Range("A" & RR).Value Then
Riga(2) = RR
GoTo SaltaRR2
End If
Next RR


Vedi modifica con '<<<<<<<<
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: CALCOLO

Postdi Lucio Peruggini » 24/05/11 22:04

http://screenshotuploader.com/s/z9NbnMBN0Ca

https://rapidshare.com/files/322099767/ ... _COLORA.7z

L'aggiunta è giusta ma vi è inconcruenza nei ritardi deglia ambi.
allego anche il foglio con i dati.
Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "CALCOLO":


Chi c’è in linea

Visitano il forum: Zer0Kelvin e 24 ospiti