Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

creare un elenco confrontando elenchi presenti in altri fogli

Ultimo Aggiornamento: 13/03/2017 20:58
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 [SM=x423053]






--------------
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 [SM=x423017]
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! [SM=g27811]
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]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 05:16. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com