| | Post: 2 | Registrato il: 05/03/2017
| Utente Junior | 2013 | | OFFLINE | |
|
05/03/2017 11:03 | |
Salve a tutti,
provo a spiegare cosa dovrei fare con excel e che non so fare:
ho 3 fogli, in ognuno c'è un elenco di oggetti con indicate le quantità.
nei tre fogli posso trovare lo stesso oggetto.
sono sempre in ordine alfabetico.
devo creare un quarto foglio, dove inserisco un elenco di tutti gli oggetti, sommandone le quantità se lo stesso oggetto è presente in più fogli
ho allegato un file come esempio, il foglio risultato è quello che dovrei ottenere.
come si fà?
qualcuno mi può aiutare? |
|
| | Post: 224 | Registrato il: 31/01/2010
| Città: LIVORNO | Età: 61 | Utente Junior | 2016 | | OFFLINE | |
|
05/03/2017 17:04 | |
Guarda se ti va bene.....
Saluti
--------------
Marco
excel 2013 |
| | Post: 2 | Registrato il: 05/03/2017
| Utente Junior | 2013 | | OFFLINE | |
|
05/03/2017 18:27 | |
purtroppo non mi va bene
i primi 3 fogli non possono essere modificati.
inoltre gli elenchi che ho sono molto lunghi e non posso sapere a priori quanto lunghi e con quali e quanti oggetti.
grazie comunque |
| | Post: 3.749 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
05/03/2017 21:16 | |
Sub a()
With Sheets(4)
.Columns("H:J").ClearContents
For nsh = 1 To 3
LR1 = .Cells(.Rows.Count, "H").End(xlUp).Row + 1
Sheets(nsh).UsedRange.Copy .Cells(LR1, "H")
LR2 = .Cells(.Rows.Count, "H").End(xlUp).Row
For r = LR1 To LR2
.Cells(r, "J") = nsh
Next
Next
LR = .Cells(.Rows.Count, "H").End(xlUp).Row + 1
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("H2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
.Sort.SetRange .Range("H2:J" & LR)
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
dr = 2
For r = 2 To LR
If .Cells(r, "H") <> .Cells(r - 1, "H") Then
.Cells(dr, "A") = .Cells(r, "H")
col = .Cells(r, "J") + 1
.Cells(dr, col) = .Cells(r, "I")
dr = dr + 1
Else
dr = dr - 1
.Cells(dr, "A") = .Cells(r, "H")
col = .Cells(r, "J") + 1
.Cells(dr, col) = .Cells(r, "I")
dr = dr + 1
End If
Next
.Columns("H:J").ClearContents
LR = .Cells(.Rows.Count, "A").End(xlUp).Row
For r = 2 To LR
Sum = 0
For c = 2 To 4
Sum = Sum + .Cells(r, c)
Next
.Cells(r, "E") = Sum
Next
End With
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 3 | Registrato il: 05/03/2017
| Utente Junior | 2013 | | OFFLINE | |
|
06/03/2017 20:31 | |
grazie mille! |
| | Post: 4 | Registrato il: 05/03/2017
| Utente Junior | 2013 | | OFFLINE | |
|
13/03/2017 20:58 | |
ho provato a modificare la macro...ma non riesco
vorrei fare in modo che possa gestire un foglio fatto così:
- il nome dell'oggeto nella colonna D
- la quantità nella colonna B
- altre colonne con informazioni varie ma uguali se è lo stesso oggetto
- resta l'unione/somma come fa ora, ma i nomi nella colonna D e i totali nella colonna B
- nel risultato, deve copiare anche tutte le restanti colonne da A a Z dei fogli originali
- si può creare un ulteriore foglio per fare i calcoli
come si modifica? [Modificato da Rosella Punto Verde 13/03/2017 20:59] |
|
|