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

Re: Excel o macro (solita formula)

Postdi Flash30005 » 13/02/13 22:55

Ehm, si c'era un bug
Ora dovrebbe essere corretto
Codice: Seleziona tutto
Sub ColoraRiporta()
UR1 = 16
For RR1 = 5 To UR1 Step 3
Range("C" & RR1 & ":AX" & RR1).Interior.ColorIndex = xlNone
Next RR1
Range("A20:G1000").ClearContents
For CC1 = 3 To 43 Step 5
For RR1 = 5 To UR1 Step 3
NA1 = Format(Cells(RR1, CC1).Value, "00")
NA2 = Format(Cells(RR1, CC1 + 2).Value, "00")
Ambo1 = NA1 & NA2

RU1 = UCase(Left(Cells(1, CC1 - 1).Value, 2))
ContaA = 0
For CC2 = CC1 + 5 To 48 Step 5
For RR2 = 5 To UR1 Step 3
NA3 = Format(Cells(RR2, CC2).Value, "00")
NA4 = Format(Cells(RR2, CC2 + 2).Value, "00")
RU2 = UCase(Left(Cells(1, CC2 - 1).Value, 2))
Ambo2 = NA3 & NA4
If Ambo1 = Ambo2 Then
        If RR1 = RR2 Then
            Range(Cells(RR1, CC1), Cells(RR1, CC1 + 2)).Interior.Color = RGB(0, 255, 0)
            Range(Cells(RR2, CC2), Cells(RR2, CC2 + 2)).Interior.Color = RGB(0, 255, 0)
        Else
            If Cells(RR1, CC1).Interior.ColorIndex = xlNone Then Range(Cells(RR1, CC1), Cells(RR1, CC1 + 2)).Interior.Color = RGB(180, 180, 180)
            If Cells(RR2, CC2).Interior.ColorIndex = xlNone Then Range(Cells(RR2, CC2), Cells(RR2, CC2 + 2)).Interior.Color = RGB(180, 180, 180)
        End If
        If RU1 <> RU2 Then
            If MAmbo <> Ambo2 Then
                URR = Range("A" & Rows.Count).End(xlUp).Row + 1
                If URR < 20 Then URR = 20
                    Range("A" & URR).Value = RU1 & "-" & RU2
                    Range("C" & URR).Value = NA1
                    Range("E" & URR).Value = NA2
                    If RR1 = RR2 Then Range("G" & URR).Value = Range("A" & RR1).Value
                    MAmbo = Ambo1
            Else
                URR = Range("A" & Rows.Count).End(xlUp).Row
                If URR < 20 Then URR = 20
                Range("A" & URR).Value = Range("A" & URR).Value & "-" & RU2
            End If
        End If
    'End If
End If
Next RR2
Next CC2
Next RR1
Next CC1
URR = Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 20 To URR - 1
NA1 = Format(Cells(RR1, 3).Value, "00")
NA2 = Format(Cells(RR1, 5).Value, "00")
For RR2 = URR To RR1 + 1 Step -1
NA3 = Format(Cells(RR2, 3).Value, "00")
NA4 = Format(Cells(RR2, 5).Value, "00")
If NA1 & NA2 = NA3 & NA4 Then Rows(RR2).Delete
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-

Sponsor
 

Re: Excel o macro (solita formula)

Postdi Lucio Peruggini » 13/02/13 23:34

PERFETTO, ORA E' OK!!!

GRAZIE INFINITE

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 » 16/02/13 19:29

Codice: Seleziona tutto
Sub ColoraRiporta()
UR1 = 16
For RR1 = 5 To UR1 Step 3
Range("C" & RR1 & ":AX" & RR1).Interior.ColorIndex = xlNone
Next RR1
Range("A20:G1000").ClearContents
For CC1 = 3 To 43 Step 5
For RR1 = 5 To UR1 Step 3
NA1 = Format(Cells(RR1, CC1).Value, "00")
NA2 = Format(Cells(RR1, CC1 + 2).Value, "00")
Ambo1 = NA1 & NA2

RU1 = UCase(Left(Cells(1, CC1 - 1).Value, 2))
ContaA = 0
For CC2 = CC1 + 5 To 48 Step 5
For RR2 = 5 To UR1 Step 3
NA3 = Format(Cells(RR2, CC2).Value, "00")
NA4 = Format(Cells(RR2, CC2 + 2).Value, "00")   '<<<<<<<<<<<< DA ERRORE SU QUESTA RIGA
RU2 = UCase(Left(Cells(1, CC2 - 1).Value, 2))
Ambo2 = NA3 & NA4
If Ambo1 = Ambo2 Then
        If RR1 = RR2 Then
            Range(Cells(RR1, CC1), Cells(RR1, CC1 + 2)).Interior.Color = RGB(0, 255, 0)
            Range(Cells(RR2, CC2), Cells(RR2, CC2 + 2)).Interior.Color = RGB(0, 255, 0)
        Else
            If Cells(RR1, CC1).Interior.ColorIndex = xlNone Then Range(Cells(RR1, CC1), Cells(RR1, CC1 + 2)).Interior.Color = RGB(180, 180, 180)
            If Cells(RR2, CC2).Interior.ColorIndex = xlNone Then Range(Cells(RR2, CC2), Cells(RR2, CC2 + 2)).Interior.Color = RGB(180, 180, 180)
        End If
        If RU1 <> RU2 Then
            If MAmbo <> Ambo2 Then
                URR = Range("A" & Rows.Count).End(xlUp).Row + 1
                If URR < 20 Then URR = 20
                    Range("A" & URR).Value = RU1 & "-" & RU2
                    Range("C" & URR).Value = NA1
                    Range("E" & URR).Value = NA2
                    If RR1 = RR2 Then Range("G" & URR).Value = Range("A" & RR1).Value
                    MAmbo = Ambo1
            Else
                URR = Range("A" & Rows.Count).End(xlUp).Row
                If URR < 20 Then URR = 20
                Range("A" & URR).Value = Range("A" & URR).Value & "-" & RU2
            End If
        End If
    'End If
End If
Next RR2
Next CC2
Next RR1
Next CC1
URR = Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 20 To URR - 1
NA1 = Format(Cells(RR1, 3).Value, "00")
NA2 = Format(Cells(RR1, 5).Value, "00")
For RR2 = URR To RR1 + 1 Step -1
NA3 = Format(Cells(RR2, 3).Value, "00")
NA4 = Format(Cells(RR2, 5).Value, "00")
If NA1 & NA2 = NA3 & NA4 Then Rows(RR2).Delete
Next RR2
Next RR1
End Sub



Ciao Flash, ho cambiato le somme nelle righe 3,6,9,12,15 e purtroppo non funziona più la macro.
Da errore come vedi da immagine. Effettivamente non avevo previsto di dover cambiare le somme impostate. Prima sommavo due addendi “55 e 70” a ogni numero della cinquina e quindi ruota. Ogni riga su menzionata riportava la medesima somma su tutte le ruote.

Ora sommo, (stessa riga) due addendi diversi per ruota.
Pensi se non troppo complicato, si possa inquadrare?

Ciao e buona serata

https://dl.dropbox.com/u/18220462/IMMAG ... ICI%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 » 16/02/13 23:43

E cosa c'entra aver cambiato le formule in 3.6.9. etc
la macro lavora sulle righe 5,8,11,14,17
se hai spsotato i dati-ambi potrei capirlo ma non le formule
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 » 17/02/13 00:16

Infatti non ho spostato nessun dato. Allora da dove può arrivare l'errore segnalato nella macro?
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 » 17/02/13 00:26

Ho capito!
Non si tratta di errore ma del fatto che avendo cambiato le somme non trova più coppie uguali su una medesima riga; se non sporadicamente.

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 » 17/02/13 00:38

Se nelle righe che ho elencato ci sono dei numeri e non #Rif o #Num o altro genere di errori (o magari superi il valore di 100 ?)
non deve dare errori
semmai invia il file
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 » 17/02/13 03:30

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 » 17/02/13 04:14

L'ultima modifica non permetteva la cancellazione della formattazione dell'ultima riga
pertanto rimanevano le celle colorate e non che colorava erroneamente ambi non doppi.
Ho modificato la macro che ripropongo
Codice: Seleziona tutto
Sub ColoraRiporta()
UR1 = 17
For RR1 = 5 To UR1 Step 3
Range("C" & RR1 & ":AX17").Interior.ColorIndex = xlNone
Next RR1
Range("A20:G1000").ClearContents
For CC1 = 3 To 43 Step 5
For RR1 = 5 To UR1 Step 3
NA1 = Format(Cells(RR1, CC1).Value, "00")
NA2 = Format(Cells(RR1, CC1 + 2).Value, "00")
Ambo1 = NA1 & NA2

RU1 = UCase(Left(Cells(1, CC1 - 1).Value, 2))
ContaA = 0
For CC2 = CC1 + 5 To 48 Step 5
For RR2 = 5 To UR1 Step 3
NA3 = Format(Cells(RR2, CC2).Value, "00")
NA4 = Format(Cells(RR2, CC2 + 2).Value, "00")
RU2 = UCase(Left(Cells(1, CC2 - 1).Value, 2))
Ambo2 = NA3 & NA4
If Ambo1 = Ambo2 Then
        If RR1 = RR2 Then
            Range(Cells(RR1, CC1), Cells(RR1, CC1 + 2)).Interior.Color = RGB(0, 255, 0)
            Range(Cells(RR2, CC2), Cells(RR2, CC2 + 2)).Interior.Color = RGB(0, 255, 0)
        Else
            If Cells(RR1, CC1).Interior.ColorIndex = xlNone Then Range(Cells(RR1, CC1), Cells(RR1, CC1 + 2)).Interior.Color = RGB(180, 180, 180)
            If Cells(RR2, CC2).Interior.ColorIndex = xlNone Then Range(Cells(RR2, CC2), Cells(RR2, CC2 + 2)).Interior.Color = RGB(180, 180, 180)
        End If
        If RU1 <> RU2 Then
            If MAmbo <> Ambo2 Then
                URR = Range("A" & Rows.Count).End(xlUp).Row + 1
                If URR < 20 Then URR = 20
                    Range("A" & URR).Value = RU1 & "-" & RU2
                    Range("C" & URR).Value = NA1
                    Range("E" & URR).Value = NA2
                    If RR1 = RR2 Then Range("G" & URR).Value = Range("A" & RR1).Value
                    MAmbo = Ambo1
            Else
                URR = Range("A" & Rows.Count).End(xlUp).Row
                If URR < 20 Then URR = 20
                Range("A" & URR).Value = Range("A" & URR).Value & "-" & RU2
            End If
        End If
    'End If
End If
Next RR2
Next CC2
Next RR1
Next CC1
URR = Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 20 To URR - 1
NA1 = Format(Cells(RR1, 3).Value, "00")
NA2 = Format(Cells(RR1, 5).Value, "00")
For RR2 = URR To RR1 + 1 Step -1
NA3 = Format(Cells(RR2, 3).Value, "00")
NA4 = Format(Cells(RR2, 5).Value, "00")
If NA1 & NA2 = NA3 & NA4 Then Rows(RR2).Delete
Next RR2
Next RR1
End Sub


Ho risposto con allegato

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 » 17/02/13 12:40

Grazie Flash è ok!!!

Mi daresti gentilmente la dritta per questa formula? Devo moltiplicare ogni numero della cinquina x 179 o altra cifra e fare il "fuori 90"

Esempio:

72 - 12 - 42 - 57 - 31

Avremmo dunque:

18 - 78 - 48 - 33 - 59 questi sono il fuori 90 di cui sopra. Qual'è la formula?
Ciao e buona domenica.
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 » 17/02/13 14:25

Esempio:

72 - 12 - 42 - 57 - 31

Avremmo dunque:

18 - 78 - 48 - 33 - 59 questi sono il fuori 90 di cui sopra. Qual'è la formula?
Ciao e buona domenica.



E' probabile che gli esiti sopra siano errati.

A2 - B2 - C2 - D2 - E2
72 12 42 57 31 col fuori 90 e moltiplicando * 179 la cinquina qui a sinistra, cosa verrebbe fuori inserendo i risultati in

A3 - B3 - C3 - D3 - E3


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 » 17/02/13 15:00

Usa la funzione resto
Codice: Seleziona tutto
=SE(RESTO(TuoProdotto;90)=0;90;RESTO(TuoProdotto;90))

per TuoProdotto intendo la moltiplicazione tra il numero e 179 o altro

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 Francesco53 » 17/02/13 15:02

ciao, se in F1 inserisci il numero di ricerca in questo caso 179
in A3 inserisci la seguente formula:
Codice: Seleziona tutto
=SE(A2*$F$1>90;SE((RESTO((A2*$F$1);90))=0;90;RESTO((A2*$F$1);90));A2*$F$1)

copia poi da A3 ad E3 ed otterrai quanto da te richiesto.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Excel o macro (solita formula)

Postdi Francesco53 » 17/02/13 15:07

scusa Flash, nel mentre che rispondevo ci siamo accavallati.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Excel o macro (solita formula)

Postdi Lucio Peruggini » 17/02/13 15:43

Francesco53 ha scritto:ciao, se in F1 inserisci il numero di ricerca in questo caso 179
in A3 inserisci la seguente formula:
Codice: Seleziona tutto
=SE(A2*$F$1>90;SE((RESTO((A2*$F$1);90))=0;90;RESTO((A2*$F$1);90));A2*$F$1)

copia poi da A3 ad E3 ed otterrai quanto da te richiesto.
Francesco


Perfetto, grazie.
Visto che ci sono sperando di non seccarti troppo:
Se anziché moltiplicare volessi l'operazione semplice per il fuori 90, adoperando somme che sono comprese da uno a 90, quale dovrebbe essere la formula?

Con gli stessi numeri e sommando 75

72 - 12 - 42 - 57 - 31 dovrei ottenere

57 - 87 - 27 - 42 - 16

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 » 17/02/13 17:17

E' la stessa formula ma con addizione invece del segno di moltiplicazione
Codice: Seleziona tutto
=SE(RESTO(A2+$F$1;90)=0;90;RESTO(A2+$F$1;90))


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 » 17/02/13 18:17

OK!
GRAZIE
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 » 18/02/13 00:06

https://dl.dropbox.com/u/18220462/IMMAGINI/FALSO%20.PNG

Gentilmente come faccio a far sparire il "FALSO" da questa formula che trova il valore più piccolo fra le due, tre o anche quattro celle coinvolte sequenzialmente della colonna "F" ?

Questa la formula:

=SE(D2=D3;SE(F3<F2;F3;F2))

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 » 18/02/13 00:11

Ho risolto, 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 Flash30005 » 18/02/13 00:21

Ti sarai accorto che hai messo una sola condizione al primo SE
quindi se non trova valida la condizione non può far altro che mettere Falso
come condizione non vera credo tu abbia inserito un "" (doppio apice)
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-

PrecedenteProssimo

Torna a Applicazioni Office Windows


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


Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti