Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel o macro (solita formula)

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

Excel o macro (solita formula)

Postdi Lucio Peruggini » 28/01/13 22:03

Ciao a tutti
Rieccomi per il solito aiuto.

https://dl.dropbox.com/u/18220462/IMMAG ... rum%20.PNG

https://dl.dropbox.com/u/18220462/FILE/ ... Forum.xlsx

Nel file Excel allegato ci sono solamente cinquantuno estrazioni complete ma nel foglio reale, ci sono oltre centomila righe dalle quali con formula o macro, dovrei marcare nella colonna “I” il ritardo che intercorre dal primo ambo uscito (colorato in verde), al medesimo ambo “il primo che s’incontra” (colorato in giallo). Ritardo che è ricavato sottraendo in colonna “G”, (giallo meno verde.)

Ovviamente nel foglio non ci sono i colori che ho fatto come esempio; ma abbiamo uno “step” di cento righe che intercorrono da un’estrazione all’altra.
Nell’immagine anche allegata, si vede il primo ritardo (colonna I6) che è quindici (15); ricavato da “G10-G6”.
Ogni 100 estrazioni, dunque, abbiamo il primo valore cui dovrà seguire il secondo. Stesso ambo dal quale ricaveremo il ritardo da marcare sulla medesima riga del primo; colonna “I”.

Confidando sempre nel vostro prezioso aiuto.
Un caro saluto e buona serata.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: Excel o macro (solita formula)

Postdi Flash30005 » 28/01/13 22:34

Codice: Seleziona tutto
Sub Ritardi()
UR = Worksheets("Foglio1").Range("D" & Rows.Count).End(xlUp).Row
For RR1 = 6 To UR - 1
For RR2 = RR1 + 1 To UR
If Range("D" & RR1).Value = Range("D" & RR2).Value Then
If Range("G" & RR2).Value > Range("G" & RR1).Value Then Range("I" & RR1).Value = Range("G" & RR2).Value - Range("G" & RR1).Value
Exit For
End If
Next RR2
Next RR1
End Sub


Ciao
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 28/01/13 23:12

https://dl.dropbox.com/u/18220462/IMMAGINI/RdL%202.png

Ciao Flash

Devo marcare solamente il primo ritardo, quello contrassegnato dalla freccia; gli altri non interessano.
Inoltre, la macro va in "loop", dopo tre minuti era bloccata a due estrazioni successive.

Ogni estrazione (colonna B) deve contenere solamente il ritardo del primo ambo.
Ciao

Probabilmente "loop" che ho anche corretto, non è il termine esatto, comunque era bloccata alla 7442.
Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Flash30005 » 29/01/13 09:15

Sostituisci
Exit For
con
Exit Sub

ciao
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 29/01/13 12:28

Ciao Flash

Ho sostituito ma segna solamente il primo ritardo, quello dell'estrazione 7440 (riga sei colonna I); e gli altri?
Alla prima riga di ogni estrazione devo marcare il ritardo.

7441 riga 106
7442 riga 206
7443 riga 306 etc.

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

Re: Excel o macro (solita formula)

Postdi Flash30005 » 29/01/13 12:32

Ma lo hai detto tu che volevi solo il primo, indicato con la freccia
spiegati meglio per cortesia
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 29/01/13 12:51

Flash30005 ha scritto:Ma lo hai detto tu che volevi solo il primo, indicato con la freccia
spiegati meglio per cortesia


Scusa Flash ma nel primo post inserito è ben chiarito l'argomento; ogni estrazione deve avere solamente quel primo ritardo.
Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Flash30005 » 29/01/13 13:05

Ma io non so quali sono le estrazioni se quelle in colonna B o colonna G
Sei tu che sai, ma non hai spiegato, il criterio perché una macro funziona con un criterio ed è proprio questo che mancava
Ora provo a cercare di capire...
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: Excel o macro (solita formula)

Postdi Flash30005 » 29/01/13 13:08

Questa macro (la stessa di prima con aggiunta dello step 100) dovrebbe funzionare
Codice: Seleziona tutto
Sub Ritardi()
UR = Worksheets("Foglio1").Range("D" & Rows.Count).End(xlUp).Row
Columns(9).Clear
For RR1 = 6 To UR - 1 Step 100
For RR2 = RR1 + 1 To UR
If Range("D" & RR1).Value = Range("D" & RR2).Value Then
If Range("G" & RR2).Value > Range("G" & RR1).Value Then Range("I" & RR1).Value = Range("G" & RR2).Value - Range("G" & RR1).Value
Exit For
End If
Next RR2
Next RR1
End Sub


Ciao
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 29/01/13 13:25

Continua a marcare esclusivamente solo l'estrazione 7440, ritardo 15.
Gli altri non li marca.
ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Flash30005 » 29/01/13 13:36

Ma hai lasciato Exit sub o hai copiato questa macro che ha Exit for ?

Te lo dico perché a me funziona
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 29/01/13 14:00

Lucio Peruggini ha scritto:Continua a marcare esclusivamente solo l'estrazione 7440, ritardo 15.
Gli altri non li marca.
ciao



https://dl.dropbox.com/u/18220462/IMMAGINI/Sub.PNG

Certo che avevo cambiato.
Marca solo il primo ritardo (7440), ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Flash30005 » 29/01/13 14:13

Ok facciamo a non capirci! :aaah
Devi rimettere Exit For come era nella prima macro
oppure ricopi l'ultima che, naturalmente, sostituisce tutte
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 29/01/13 14:22

Ok, funziona tutto!
Grazie, ciao.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Lucio Peruggini » 30/01/13 14:57

Ciao Flash, avrei gentilmente bisogno di aggiungere un dato inserendolo in colonna “J”.
In questa colonna dovrei marcare se il ritardo RdL già ottenuto con la macro nella colonna “I”, è uno storico oppure un attuale.
Nell’immagine allegata trattasi di uno storico (st) colonna "E".
Scendendo sotto diventa piuttosto complicato cercare gli attuali che si dovrebbero ottenere con questa colonna aggiuntiva in modo che da essa otterremo sia gli storici sia gli attuali.

Grazie e buona giornata

https://dl.dropbox.com/u/18220462/IMMAG ... iva%20.PNG
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Flash30005 » 30/01/13 17:09

In tutta verità non ho capito
Fai un esempio di storico che vorresti avere
ciao
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 30/01/13 18:58

Ok, provo a spiegarmi meglio, anzi:
Penso si possa migliorare e facilitare ancor più quanto chiedevo.

La macro attuale inserisce il ritardo in corrispondenza del primo ambo (colore verde), potresti inserire questo ritardo in corrispondenza e sulla riga del medesimo quando lo trova?

L’aggiunta in colonna “J” deve semplicemente marcare se trattasi di “st oppure at” ricavato dalla (colonna E).
Come vedi da immagine, trovato il secondo ambo dal quale si ricava il ritardo (colonna G), in “J” è specificato se è un ritardo storico oppure attuale; seconda immagine.

https://dl.dropbox.com/u/18220462/IMMAG ... 0at%20.jpg

https://dl.dropbox.com/u/18220462/IMMAG ... 0at%20.jpg

Spero di aver chiarito, ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel o macro (solita formula)

Postdi Flash30005 » 30/01/13 20:01

Ok
Codice: Seleziona tutto
Sub Ritardi()
UR = Worksheets("Foglio1").Range("D" & Rows.Count).End(xlUp).Row
Range("I:J").Clear
For RR1 = 6 To UR - 1 Step 100
For RR2 = RR1 + 1 To UR
If Range("D" & RR1).Value = Range("D" & RR2).Value Then
If Range("G" & RR2).Value > Range("G" & RR1).Value Then
Range("I" & RR2).Value = Range("G" & RR2).Value - Range("G" & RR1).Value
Range("J" & RR2).Value = Range("E" & RR2).Value
End If
Exit For
End If
Next RR2
Next RR1
End Sub


Ciao
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: Excel o macro (solita formula)

Postdi Lucio Peruggini » 30/01/13 21:29

Flash GRAZIE

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

Re: Excel o macro (solita formula)

Postdi Lucio Peruggini » 04/02/13 01:49

Ciao Flash, avrei un altro quesito che penso si possa risolvere con una macro.
Come sempre grazie infinite.

Vorrei colorare: range C4:U16 gli ambi uguali.
Allego file e immagine.

https://dl.dropbox.com/u/18220462/IMMAG ... A%20TT.PNG

https://dl.dropbox.com/u/18220462/FILE/ ... TT%20.xlsx

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

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Excel o macro (solita formula)":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti