Condividi:        

possibile automatizzare le operazioni

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

possibile automatizzare le operazioni

Postdi luca0202 » 20/08/10 12:03

Salve sono Luca e nuovo del forum e complimenti per la competenza dei moderatori e non ...
Vengo a provare ad esporre la mia richiesta ove fosse possibile si intente:
metto a confronto 2 tabelline con numeri trovo numeri uguali nelle 2 tabelline e posso procedere con le operazioni ;
prendo il numero che ho rintracciato e il corrispondente nella stessa posizone ; da qui procedo con 2 operazioni ,prima somma dei 2 numeri e da questo aggiungo 1 e sottraggo 1 (prima terzina) ,seconda sottraggo i 2 numeri e da questo aggiungo 1 e sottraggo 1.
Nel foglio che ho fatto in excel in parte mi aiuta ma devo inserire io manualmente i parametri ..quello che mi chiedevo era se il tutto potesse essere automatizzato .
ringrazio anticipatamente per la disponibilità Luca
URL=http://img713.imageshack.us/i/provarw.png/]Immagine[/URL]
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Sponsor
 

Re: possibile automatizzare le operazioni

Postdi Anthony47 » 21/08/10 23:47

Ciao luca0202 e benvenuto nel forum.
Non sono io l' appassionato di questi numeri, ma visto che nessuno per ora ti ha aiutato ci proverei lo stesso; purtroppo non afferro di che cosa siano "corrispondenti" il 9 e il 13 che hai indicato, quindi non ho colto quali regole le tue operazioni devono seguire.
Se non ricevi altre risposte, quindi, posta ancora spiegando piu' in dettaglio la struttura dei dati (cioe' il significato delle varie tabelle presenti nella tua immagine), quello che hai gia' fatto e quello che vorresti fare ulteriormente.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19183
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 22/08/10 01:51

Benvenuto Luca0202,

Oltre a quanto detto da Anthony aggiungo che sarebbe opportuno che inviassi il file excel con tutte le specifiche riportate direttamente sul file.

Per l'invio del fle segui questa procedura (post di Anthony del 16/06/09 ore 03:09).

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: possibile automatizzare le operazioni

Postdi luca0202 » 22/08/10 08:02

Grazie per l' attenzione dimostrata vi allego il file dove noterete che alcune funzioni sono riuscito a integrare ma tanto devo comunque inserirle manualmente .Ora cerco di spiegarmi meglio con immagine e foglio .....spero ....
Trovo numero che sia presente in entrambe le 2 tabelle da qui posso trovare in quali ruote posso giocare e di numeri per
poter fare le operazioni.Non so se sono stato sufficentemente chiaro comunque grazie per la disponibilità Luca

http://www.megaupload.com/?d=XCWB6OM8
[IMG=http://img682.imageshack.us/img682/8396/dainviare.png][/IMG]

Uploaded with ImageShack.us
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Anthony47 » 24/08/10 22:47

Al momento non riesco a scaricare il file, provero' ancora....
Avatar utente
Anthony47
Moderatore
 
Post: 19183
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: possibile automatizzare le operazioni

Postdi luca0202 » 25/08/10 20:40

grazie cmq per l'interessamento .....Luca
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Anthony47 » 26/08/10 02:05

Scaricato il file, ma a causa della mia ignoranza su lotto e affini non afferro ne' quali sono i dati di partenza ne' quale e' il risultato da ottenere. Non sono quindi in grado di dare utili contributi, mi spiace.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19183
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: possibile automatizzare le operazioni

Postdi Francesco53 » 26/08/10 13:11

Ciao luca0202, anche se conosco le metodiche del lotto, il tuo esempio è poco comprensibile,
forse dovresti mettere un foglio esempio, anche di poche righe, ma con dati veri per poter
capire cosa realmente chiedi. Diventa difficile capire cosa intendi per Corrispondente, l'immagine
non fa capire cosa cerchi.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: possibile automatizzare le operazioni

Postdi luca0202 » 26/08/10 15:14

provo a spiegare cosa vorrei fare con il mio foglio ....
ho foglio excel che ho già caricato post precedente ....
allego 2 immagini una con il foglio prima della compilazione con una spiegazione di cosa fare ....
e un'altra immagine con foglio dopo che io sono andato a far completare la compilazione....
spero di essermi riuscito a far capire ...
ringrazio comunque per l'interessamente ...Luca
Immagine
Immagine
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 26/08/10 20:00

Ho evitato di rispondere al tuo post proprio perché impiegavo troppo tempo per capire l'effettiva esigenza
una volta capita in 20 minuti ho creato quello che ti occorre (almeno lo spero).
1) Copia il tuo foglio "Somme tra gli estratti..." r dai come nome "AnalisiLotto"
2) In un modulo del Vba inserisci queste routine e avvia la macro "CompilaTab"

Codice: Seleziona tutto
Public RC, CC, Vs1, RD As Integer
Sub CompilaTab()
 Worksheets("AnalisiLotto").Range("U2:X69").Clear
    'For Vs1 = 1 to 90  '<<< togli il commento a questa e al next alla fine della macro
    'Worksheets("AnalisiLotto").Range("T2").Value   = Vs1  'togli il commento per automatizzare
        Vs1 = Worksheets("AnalisiLotto").Range("T2").Value  'commenta questa riga per automatizzare
   
        If Vs1 = "" Then
            MsgBox "Inserire un numero da cercare"
            GoTo esci
        End If
        With Worksheets("AnalisiLotto").Range("N2:R12")
            Set C = .Find(Vs1, LookIn:=xlValues, LookAt:=xlWhole)
                If Not C Is Nothing Then
                    firstAddress = C.Address
                    RC = C.Row
                    CC = C.Column
                    Call Confronta
                    Do
                        Set C = .FindNext(C)
                        If firstAddress = C.Address Then Exit Do
                        RC = C.Row
                        CC = C.Column
                    Call Confronta
                    Loop While Not C Is Nothing And C.Address <> firstAddress
                End If
esci:
        End With

End Sub
Private Sub Confronta()
        With Worksheets("AnalisiLotto").Range("B2:K12")
            Set D = .Find(Vs1, LookIn:=xlValues, LookAt:=xlWhole)
                If Not D Is Nothing Then
                    firstAddress = D.Address
                    RD = D.Row
                    Call Trascrivi
                    Do
                        Set D = .FindNext(D)
                        If firstAddress = D.Address Then Exit Do
                        RD = D.Row
                    Call Trascrivi
                    Loop While Not D Is Nothing And D.Address <> firstAddress
                End If
        End With
'next VS1   Togliere il commento per automatizzare da 1 a 90
End Sub

Private Sub Trascrivi()
'MsgBox RD & " " & RC & " " & CC
Worksheets("AnalisiLotto").Cells(Rows.Count, 22).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Range("M" & RC).Value
Worksheets("AnalisiLotto").Cells(Rows.Count, 21).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Range("A" & RD).Value
Worksheets("AnalisiLotto").Cells(Rows.Count, 23).End(xlUp).Offset(1, 0).Value = Vs1
Worksheets("AnalisiLotto").Cells(Rows.Count, 24).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Cells(RD, CC).Value
End Sub


Fai sapere
Ciao

P.s. se vuoi automatizzare il tutto per la ricerca di tutti i numeri da 1 a 90 non devi far altro che togliere il commento al ciclo for... next da 1 a 90 come descritto nei commenti
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: possibile automatizzare le operazioni

Postdi luca0202 » 26/08/10 22:44

Sara' che sono abbastanza ignorante in materia VBA ma io ho provato a seguire passo passo quello che mi ha detto flash ma mi da errore quando avvio la macro .Rigrazio comunque sia flash per aver capito....;)) mea culpa ...ma se ti fosse possibile posso vedere il foglio da te modificato ...grazie Luca
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 27/08/10 08:39

Ti invio questo file
è la versione automatica, trova tutti i numeri da 1 a 90
con il pulsante di comando (non occorre entrare nel vba)

fai sapere
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: possibile automatizzare le operazioni

Postdi luca0202 » 27/08/10 09:54

Flash dire che sei un grande è davvero poco sei stato fantastico ....funziona perfettamente ed era quello che volevo
facesse ...ora senza abusare della tua disponibilità posso chiederti sempre sia possibile evidenziare le ruote come facevo io nella compilazione manuale che sarebbero le ruote di riscontro degli estratti e altra cosa se numero presente nella stessa ruota sia somme degli estratti che in estratti fosse evidenziato in rosso la ruota queste 2 cose nella mia compilazione manuale la facevo io ... sempre sia possibile grazie comunque per quello che hai fatto è davvero tanto Grazie Luca
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 27/08/10 15:49

Beh considero inutile evidenziare le ruote dell'estratto perché sono tutte e sempre sulla stessa colonna la 22 che corrisponde alla colonna V.
Per il resto da evidenziare non ho capito

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: possibile automatizzare le operazioni

Postdi luca0202 » 27/08/10 16:06

Hai perfettamente ragione lo avevo provato solo velocemente e non mi ero accorto che rimangono tutte nella stessa colonna per il resto davvero di poca importanza ....ti ringrazio ancora Luca
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 27/08/10 22:16

Se per te è più intuitivo avere la ruota estrazione per prima (colonna U invece che V)
puoi cambiare queste righe di codice da così
Codice: Seleziona tutto
Private Sub Trascrivi()
Worksheets("AnalisiLotto").Cells(Rows.Count, 22).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Range("M" & RC).Value
Worksheets("AnalisiLotto").Cells(Rows.Count, 21).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Range("A" & RD).Value

a così
Codice: Seleziona tutto
Private Sub Trascrivi()
Worksheets("AnalisiLotto").Cells(Rows.Count, 21).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Range("M" & RC).Value
Worksheets("AnalisiLotto").Cells(Rows.Count, 22).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Range("A" & RD).Value

Noterai che la prima verrà scritta sulla colonna 21 (invece che 22) e la seconda sulla 22 (invece che 21)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: possibile automatizzare le operazioni

Postdi luca0202 » 28/08/10 07:12

Va benissimo anche così ....va visto la tua disponibilità ti faccio vedere cosa faccio manualmente:
Immagine

e poi successivamente vado a confrontare i risultati delle previsioni con l'estrazione successiva ....
Grazie ancora Luca
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 28/08/10 17:13

Non ho fatto molte modifiche ma essendo sparse su diverse routine è conveniente che sostituisci l'intero codice VBA contenuto nel modulo1 del file che ti ho inviato con questo codice
Codice: Seleziona tutto
Public RC, CC, Vs1, RD, Num As Integer, RuotaA, RuotaB As String, VettN(90), VettRA(90)

Sub CompilaTab()
Num = 0
Dim VettN(90) As Integer
Dim VettRA(90) As String
UE = Range("U" & Rows.Count).End(xlUp).Row
 Worksheets("AnalisiLotto").Range("U2:X" & UE).Clear
 For Vs1 = 1 To 90
        Worksheets("AnalisiLotto").Range("T2").Value = Vs1
        With Worksheets("AnalisiLotto").Range("N2:R12")
            Set C = .Find(Vs1, LookIn:=xlValues, LookAt:=xlWhole)
                If Not C Is Nothing Then
                    firstAddress = C.Address
                    RC = C.Row
                    CC = C.Column
                    Call Confronta
                    Do
                        Set C = .FindNext(C)
                        If firstAddress = C.Address Then Exit Do
                        RC = C.Row
                        CC = C.Column
                    Call Confronta
                    Loop While Not C Is Nothing And C.Address <> firstAddress
                End If
esci:
        End With
Next Vs1
Call Evidenzia
End Sub
Private Sub Confronta()
        With Worksheets("AnalisiLotto").Range("B2:K12")
            Set D = .Find(Vs1, LookIn:=xlValues, LookAt:=xlWhole)
                If Not D Is Nothing Then
                    firstAddress = D.Address
                    RD = D.Row
                    Call Trascrivi
                    Do
                        Set D = .FindNext(D)
                        If firstAddress = D.Address Then Exit Do
                        RD = D.Row
                    Call Trascrivi
                    Loop While Not D Is Nothing And D.Address <> firstAddress
                End If
        End With
End Sub

Private Sub Trascrivi()
RuotaA = Worksheets("AnalisiLotto").Range("M" & RC).Value
RuotaB = Worksheets("AnalisiLotto").Range("A" & RD).Value
If RuotaA = RuotaB Then
Num = Num + 1
VettRA(Num) = RuotaA
VettN(Num) = Vs1
Else
Worksheets("AnalisiLotto").Cells(Rows.Count, 22).End(xlUp).Offset(1, 0).Value = RuotaA
Worksheets("AnalisiLotto").Cells(Rows.Count, 21).End(xlUp).Offset(1, 0).Value = RuotaB
Worksheets("AnalisiLotto").Cells(Rows.Count, 23).End(xlUp).Offset(1, 0).Value = Vs1
Worksheets("AnalisiLotto").Cells(Rows.Count, 24).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Cells(RD, CC).Value
End If
End Sub
Sub Evidenzia()
UV = Range("V" & Rows.Count).End(xlUp).Row
For RV = 2 To UV
    RNum = Range("W" & RV).Value
    RRuo = Range("V" & RV).Value
    For EV = 1 To Num
        If VettN(EV) = RNum And VettRA(EV) = RRuo Then
            Range("V" & RV).Font.ColorIndex = 3
            Range("V" & RV).Font.Bold = True
        End If
    Next EV
Next RV
End Sub

Per accedere al VBA dal foglio, dopo aver copiato questo codice (per intero), premi i tasti ALT + F11
una volta nel modulo1 seleziona l'intero codice esistente e sotituisci incollando quanto copiato da questo post.

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: possibile automatizzare le operazioni

Postdi luca0202 » 29/08/10 00:01

Perfetto e puntuale come sempre flash ....unica piccola particolarità forse un po' strana che provando con il foglio rappresentato nell'ultima immagine da me mandata e dove segnavo che quando numero era ripetuto ed era 17 17 se potesse essere eliminato....ecco che è unico che rimane invariato mentre altri successivi che si ripetevano vengono eliminati ... cmq davvero dettaglio per me hai fatto cmq un ottimo lavoro complimenti e grazie.
luca0202
Utente Junior
 
Post: 56
Iscritto il: 20/08/10 10:56

Re: possibile automatizzare le operazioni

Postdi Flash30005 » 29/08/10 12:53

Si, ma avevo capito che doveva essere anche la stessa ruota Na - Na - 17 - 17 (come nel tuo esempio) ed infatti così è, e funziona ma se a te occorre che in ogni caso di uguaglianza dei due numeri (indipendentemente dalle ruote di estrazione e di sommatoria) deve essere eliminata (ossia non trascritta) la riga, farò la modifica.

fai sapere
Ciao

Nell'attesa ho effettuato la modifica della routine "Trascrivi" quindi sostituisci solo questa routine con questo codice
Codice: Seleziona tutto
Private Sub Trascrivi()
RuotaA = Worksheets("AnalisiLotto").Range("M" & RC).Value
RuotaB = Worksheets("AnalisiLotto").Range("A" & RD).Value
Vs2 = Worksheets("AnalisiLotto").Cells(RD, CC).Value
If RuotaA = RuotaB Then
    Num = Num + 1
    VettRA(Num) = RuotaA
    VettN(Num) = Vs1
Else
    If Vs1 <> Vs2 Then
        Worksheets("AnalisiLotto").Cells(Rows.Count, 22).End(xlUp).Offset(1, 0).Value = RuotaA
        Worksheets("AnalisiLotto").Cells(Rows.Count, 21).End(xlUp).Offset(1, 0).Value = RuotaB
        Worksheets("AnalisiLotto").Cells(Rows.Count, 23).End(xlUp).Offset(1, 0).Value = Vs1
        Worksheets("AnalisiLotto").Cells(Rows.Count, 24).End(xlUp).Offset(1, 0).Value = Worksheets("AnalisiLotto").Cells(RD, CC).Value
    End If
End If
End Sub
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "possibile automatizzare le operazioni":

Possibile Virus???
Autore: danibi60
Forum: Sicurezza e Privacy
Risposte: 3

Chi c’è in linea

Visitano il forum: Marius44 e 39 ospiti