Condividi:        

macro per sommare automaticamente righe di codici di articol

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

macro per sommare automaticamente righe di codici di articol

Postdi vale2882 » 29/07/14 20:03

Buonasera a tutti, sono Valentina, e questo è il mio primo post. Vorrei chiedervi un grosso aiuto dato che con excel non ho molta dimestichezza. Il mio problema è questo: ho diversi fogli sui quali ho codici alfanumerici che identificano un articolo, in corrispondenza ho le quantità per ciascun codice. Voglio creare un foglio riassuntivo in cui andrò a mettere i codici degli articoli presi singolarmente da ogni foglio e sommare automaticamente quei codici che risultano uguali sui diversi fogli.Per far ciò ho visto che una macro può aiutarmi tanto. Inoltre, se cancello un codice che non mi serve più, nella macro devo tenere traccia di questa cancellazione. Potreste aiutarmi? Non so da dove incominciare!!!Grazie a tutti in anticipo!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Sponsor
 

Re: macro per sommare automaticamente righe di codici di art

Postdi Flash30005 » 29/07/14 22:45

Ciao Vale2882 e benvenuta nel Forum

Quanto chiedi è possibile realizzarlo tramite macro ma è opportuno l'invio, da parte tua, del file-esempio per lavorare sulla struttura dei tuoi dati

Una macro non può tenere traccia delle cancellazioni essendo un codice che va in esecuzione ma vediamo questo quesito in un secondo momento

ciao

per allegare il file leggi la seguente procedura
utilizzando questo server host
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: macro per sommare automaticamente righe di codici di art

Postdi Anthony47 » 30/07/14 00:14

Ciao vale1882, benvenuta anche da parte mia.
Guarda il messaggio di Flash, sopra (sposo la richiesta del file di esempio).

Il primo problema lo puoi risolvere con una tabella pivot consolidando intervalli multipli; vedi l' help on line alla voce "Informazioni sui dati di origine delle tabelle e dei grafici pivot".
Per il secondo quesito, vorrei capire bene che cosa intendi con "nella macro devo tenere traccia di questa cancellazione" prima di sbilanciarmi.

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

Re: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 30/07/14 18:46

Scusate per il ritardo della risposta...Il mio problema è questo: ho 5 fogli di Excel che fanno parte della stessa cartella di lavoro. In ognuno ho la prima colonna in cui ho i codici alfanumerici di articoli come ad esempio CVVV345KMN, FGVT3456, ecc nella colonna. Nella colonna adiacente ho le relative quantità. Voglio creare un sesto foglio in cui ho tutti i codici dei fogli precedenti con le relative quantità, ed i codici uguali presenti su più fogli con le relative quantità sommate. Sono più chiara:
Foglio1
Col A Col B
ADCF23 23
HGBV345 89

Foglio2
Col A Col B
HGBVF21 78
ADCF23 6

Foglio3
Col A Col B
HGBV345 89
HGBVF21 78
ADCF23 29

Spero di essere stata più chiara!Vorrei una macro che in automatico mi aggiornasse le quantità relative ai codici uguali. Magari ho poi un'altra macro che deriva da altri fogli e fare il match tra quello che mi arriva e la macro appena fatta per evidenziare le differenze. Aspetto con ansia una vostra risposta!!!Grazieeee
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi Anthony47 » 30/07/14 23:20

Personalmente confermerei il suggerimento della tabella pivot consolidando intervalli multipli.
L' aggiornamento della tabella pivot si fa con Tasto dx, Aggiorna dati; oppure con una macro autoregistrata che aggiorna la tabella tutte le volte che il foglio che la contiene (diverso dai fogli che contengono i dati) viene attivato.
E' una soluzione che otterresti in totale autonomia, quindi facile da adattare all' evoluzione del tuo tracciato dati.

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

Re: macro per sommare automaticamente righe di codici di art

Postdi Flash30005 » 31/07/14 04:56

Leggi quanto postato da Anthony

Ho creato questo codice dividendolo in due macro:
1) crea elenco sul foglio Riepilogo
2) somma i dati a seconda del codice

Innanzitutto nella cartella di Excel dovranno esserci solo i fogli (quanti ne vuoi) che contengano i codici e le quantità come da te descritto (col A codice, col B quantità)
Aggiungi un nuovo foglio che chiamerai "Riepilogo" (senza virgolette e con la R iniziale maiuscola)
poi, nell'ambiente VBA, in un modulo incolla l'intero codice qui riportato
Codice: Seleziona tutto
Sub CreaElenco()
Worksheets("Riepilogo").Select
Worksheets("Riepilogo").Cells.Clear
For FF = 1 To Worksheets.Count
    If Worksheets(FF).Name <> "Riepilogo" Then
        URF = Worksheets(FF).Range("A" & Rows.Count).End(xlUp).Row
        For RRF = 2 To URF
            CodF = Worksheets(FF).Range("A" & RRF).Value
            URR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row
            For RRR = 2 To URR
                CodR = Worksheets("Riepilogo").Range("A" & RRR).Value
                If CodF = CodR Then GoTo SaltaRRR
            Next RRR
            Worksheets("Riepilogo").Range("A" & URR + 1).Value = CodF
SaltaRRR:
        Next RRF
    End If
Next FF
RiepilogoDati
End Sub
Private Sub RiepilogoDati()
URR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row
For RRR = 2 To URR
    CodR = Worksheets("Riepilogo").Range("A" & RRR).Value
        For FF = 1 To Worksheets.Count
            If Worksheets(FF).Name <> "Riepilogo" Then
                URF = Worksheets(FF).Range("A" & Rows.Count).End(xlUp).Row
                For RRF = 2 To URF
                    CodF = Worksheets(FF).Range("A" & RRF).Value
                    If Worksheets(FF).Range("C" & RRF).Value <> "" Then GoTo SaltaRRF
                    If CodF = CodR Then Worksheets("Riepilogo").Range("B" & RRR).Value = Worksheets("Riepilogo").Range("B" & RRR).Value + Worksheets(FF).Range("B" & RRF).Value
SaltaRRF:
                Next RRF
            End If
        Next FF
    Next RRR
End Sub

Chiudi il Vba e avvia la macro (unica visibile premendo Alt+F8 dal foglio) dal nome "CreaElenco"

Troverai nel foglio Riepilogo sia i codici in colonna A (non ripetuti) e la rispettiva quantità in colonna B prelevata da tutti i fogli-dati esistenti.

Ho aggiunto un'opzione (discorso cancellazione mantenendo "memoria") che risolverei nel non cancellare la riga codice ma solo inserendo in colonna C di un foglio-dati, in corrispondenza del codice, una lettera o numero (N, c, S, 1 o altro), in questo modo, la macro non considererà quella quantità e quindi non verrà sommata nel foglio Riepilogo.

Provala e fai sapere se per te il quesito è risolto

ciao

P.s. E' opportuno menzionare sempre la versione di office e a tal proposito puoi adottare questo metodo
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: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 31/07/14 14:22

Grazie mille flash30005, stasera appena torno a casa la provo. Nei fogli che ho non ho solo quelle colonne ma anche la descrizione del prodotto, il fornitore, codice magazzino. Cambia il codice?Grazie mille!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 31/07/14 14:23

Ho la versione 2013 di office e 2010...grazie
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi Flash30005 » 01/08/14 08:07

Si cambia
solo una riga di codice
devi aggiungere tutti i nomi dei fogli che non vuoi vengano processati in questa riga dove prima c'era solo "Riepilogo" come vedi da questa modifica (con And)
Codice: Seleziona tutto
If Worksheets(FF).Name <> "Riepilogo" And Worksheets(FF).Name <> "Foglio4" Then

qui ho aggiunto il "Foglio4" che non deve essere considerato
quindi se hai un altro foglio aggiungerai
Codice: Seleziona tutto
And  Worksheets(FF).Name <> "NomeFoglio"

e lasci come finale Then
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: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 01/08/14 20:43

Ciao flash30005 grazie mille!!!Ho provato il codice e funziona!!!!Vorrei chiederti una cosa se posso: se avessi in ciascun foglio 6 colonne relative a :prima colonna "item", seconda colonna "codice articolo", terza colonna "fornitore", quarta colonna "quantità", quinta colonna "descrizione prodotto", sesta colonna "commenti", e volessi quindi processare solo la seconda e quarta colonna, come potrei fare?Un altro quesito è:se avessi un altro foglio riepilogo e volessi fare la differenza tra i due fogli riepilogo come potrei fare con una macro? Cioè vorrei mettere in evidenza tra i due fogli solo le differenze. Per esempio: ho un codice su Riepilogo1 con quantità 3 e in una revisione successiva quell'articolo diventa 5, vorrei evidenziare che di quell'articolo sono stati aggiunti 2 pezzi, come posso fare? Grazie davvero tanto per tutto l'aiuto!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 03/08/14 16:40

Buon pomeriggio a tutti voi!!!Sapreste indicarmi un manuale di vba per Excel?O qualcuno potrebbe aiutarmi a scrivere qualche riga di codice inerente iil mio problema? Grazie in anticipo!!!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi Anthony47 » 04/08/14 00:33

Premesso che in una tabella pivot decidi tu quali campi prendere in considerazione...

Comunque se vuoi procedere con la macro e' meglio se alleghi un file di esempio, se non altro per evitarci il tempo di costruirne uno simile a quello che hai gia'. Per come fare vedi viewtopic.php?f=26&t=80395

Quanto a "manuali", se nella tua citta' c' e' una Feltrinelli o una Mondadori troverai sicuramente dei volumi che ti possono aiutare nella fase iniziale; il resto verra' con l' applicazione.

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

Re: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 04/08/14 09:54

Buongiorno, mi sono iscritta a rapidshare, ma mi dice che la versione standard non c'è più, e ora c'è la premium e la standard plus a pagamento! Come posso cancellare la registrazione????Chiedo urgentemente un aiuto!!!NB: su rapidshare dal 1° luglio 2014, per quanto ho capito, ci sono due nuove offerte a pagamento! Non ho fatto Upgrade now! Spero non mi accada nulla! Volevo avvisare chiunque volesse condividere file attraverso questo sito.
Ritorno al mio problema. Flash30005 mi ha scritto un codice per creare una macro, e va benissimo. Lui mi ha detto che se non volessi considerare alcuni fogli della cartella devo modificare il codice con quella modifica che mi ha scritto. Io vorrei modificare il codice che mi ha scritto per non considerare colonne di più fogli Excel,Come posso fare?Grazie!!!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi Flash30005 » 05/08/14 09:19

Per rapidshare non credo tu possa avere problemi per il solo fatto che ti sei registrata, l'importante è che non rilasci i dati della carta di credito :D

Per quanto riguarda la macro dovresti dire se sono più i fogli che non devi elaborare oppure quelli con i dati.
La macro così impostata è fatta per pochi fogli da NON processare ma se questi sono un numero maggiore di quelli con i dati si può cambiare la condizione ...

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: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 20/08/14 18:04

Buonasera a tutti, non so quanti mi potranno rispondere, dato che è il 20 di agosto, ma avrei bisogno di aiuto! Flash mi ha scritto un codice per creare una macro che facesse la somma automatica di codici uguali. Quella macro, per quanto ho capito, è valida se ho solo colonna A e B. Io ho 5 fogli con colonne che vanno da A a J, dove , però, le colonne che mi interessano sono la colonna I(Codice articolo) e colonna B(quantità). Vorrei un foglio riepilogo che mi riportasse tutti i contenuti delle altre colonne presenti nei fogli e mi riportasse i codici uguali con la somma aggiornata. Per favore qualcuno può aiutarmi?Grazie mille!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi Flash30005 » 21/08/14 08:13

Prova questa macro modificata per creare un elenco univoco nel foglio "Riepilogo" in colonna A, dei codici presenti in colonna I di tutti i fogli della cartella di Excel
e in colonna B del foglio riepilogo troverai la somma delle quantità relative a quel determinato codice.
Inoltre se in colonna M dei fogli dati scriverai un qualsiasi valore o stringa, quella quantità non verrà sommata.
Codice: Seleziona tutto
Sub CreaElenco2()
Worksheets("Riepilogo").Select
Worksheets("Riepilogo").Cells.Clear
For FF = 1 To Worksheets.Count
    If Worksheets(FF).Name <> "Riepilogo" Then
        URF = Worksheets(FF).Range("A" & Rows.Count).End(xlUp).Row
        For RRF = 2 To URF
            CodF = Worksheets(FF).Range("I" & RRF).Value
            URR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row
            For RRR = 2 To URR
                CodR = Worksheets("Riepilogo").Range("A" & RRR).Value
                If CodF = CodR Then GoTo SaltaRRR
            Next RRR
            Worksheets("Riepilogo").Range("A" & URR + 1).Value = CodF
SaltaRRR:
        Next RRF
    End If
Next FF
RiepilogoDati
End Sub
Private Sub RiepilogoDati()
URR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row
For RRR = 2 To URR
    CodR = Worksheets("Riepilogo").Range("A" & RRR).Value
        For FF = 1 To Worksheets.Count
            If Worksheets(FF).Name <> "Riepilogo" Then
                URF = Worksheets(FF).Range("A" & Rows.Count).End(xlUp).Row
                For RRF = 2 To URF
                    CodF = Worksheets(FF).Range("I" & RRF).Value
                    If Worksheets(FF).Range("M" & RRF).Value <> "" Then GoTo SaltaRRF '<<<<<< Se la colonna M non sara vuota la quantità non verrà sommata
                    If CodF = CodR Then Worksheets("Riepilogo").Range("B" & RRR).Value = Worksheets("Riepilogo").Range("B" & RRR).Value + Worksheets(FF).Range("B" & RRF).Value
SaltaRRF:
                Next RRF
            End If
        Next FF
    Next RRR
End Sub


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: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 21/08/14 10:23

Ciao flash, grazie per la velocità della tua risposta! Ho copiato il codice in un nuovo modulo, ma alcuni codici del secondo foglio, che risultano uguali a quelli degli altri fogli, mi compaiono nel foglio riepilogo non sommati, mentre gli altri codici uguali li somma. Nella lista delle macro mi compare l'altra che scrivesti, la devo cancellare?Mi compare CreaElenco e CreaElenco2. Grazie!!!
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Re: macro per sommare automaticamente righe di codici di art

Postdi Anthony47 » 21/08/14 15:24

La Sub CreaElenco2 supera Sub CreaElenco, la cui presenza comunque non da' fastidio (basta non eseguirla).

Ma un file di esempio, adeguatamente popolato, non si puo' avere?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per sommare automaticamente righe di codici di art

Postdi Flash30005 » 21/08/14 17:25

Sostituisci l'intera macro (sono due nel modulo) con queste due macro
altrimenti RiepilogoDati va in conflitto con la precedente.
vale2882 ha scritto:alcuni codici del secondo foglio, che risultano uguali a quelli degli altri fogli, mi compaiono nel foglio riepilogo non sommati,

Non ci posso credere, controlla meglio...
e fai come dice Anthony nel post precedente (invia il file)

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: macro per sommare automaticamente righe di codici di art

Postdi vale2882 » 22/08/14 07:59

Buongiorno, ho caricato il file di prova su filedropper:http://www.filedropper.com/prova1
vale2882
Utente Junior
 
Post: 98
Iscritto il: 29/07/14 18:41

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "macro per sommare automaticamente righe di codici di articol":


Chi c’è in linea

Visitano il forum: Marius44 e 59 ospiti