|
Rank: Newbie
Iscritto dal : 5/25/2012 Posts: 7
|
Eccomi qua con i miei problemi a creare macro in excel ... Dunque vediamo se riesco a spiegarvi cosa devo fare: Ho la seguente tabella dove il codice viene ripetuto tante volte quanti sono i clienti che lo acquistano es. Codice Cliente xxxxx Pippo xxxxx Pluto yyyyy Minni yyyyy Topolino yyyyy Silvestro dovrei creare una macro che praticamente mi restituisca la seguente tabella Codice Cliente 1 Cliente 2 Cliente 3 xxxxx Pippo Pluto yyyyy Minni Topolino Silvestro E' possibile realizzarla oppure no? Grazie infinite a chiunque abbia la pazienza di spiegarmi come fare ...
|
|
|
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve prova a partire con questa: Sub test() col = 11 riga = 2 Application.ScreenUpdating = False Set rng = Range("a1", Range("a" & Rows.Count).End(xlUp)) rng.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("G1" _ ), Unique:=True Set filtro = Range("G2", Range("G2").End(xlDown)) For Each cl In filtro Cells(riga, 10).Value = cl.Value For Each itm In rng If cl.Value = itm.Value Then Cells(riga, col).Value = itm.Offset(0, 1).Value col = col + 1 End If Next itm col = 11 riga = riga + 1 Next cl Range("G1", Range("G1").End(xlDown)).ClearContents Set rng = Nothing Set filtro = Nothing Application.ScreenUpdating = True End Sub usa un filtro avanzato per estrarre i codici articolo univoci nella colonna G che viene successivamente cancellata saluti Giap
|
|
Rank: Newbie
Iscritto dal : 5/25/2012 Posts: 7
|
Grazie mille Gaip! Sei un genio!!!! I miei complimenti ... Con le mie poche basi non sarei mai riuscita a creare un "mostro" del genere!!!! Io mi stavo scervellando con un ciclo if ma mi sono fatta su come una caramella!! Ora mi metto a studiarla per cerca di capire passo passo come funziona ...
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve grazie a te per il riscontro saluti Giap
|
|
Rank: Newbie
Iscritto dal : 5/25/2012 Posts: 7
|
Dunque ... secondo problema ... Dalla tabella che ho ottenuto Codice Cliente 1 Cliente 2 Cliente 3 xxxxx Pippo Pluto yyyyy Minni Topolino Silvestro zzzzz Minni Pippo Silvestro ora dovrei creare un foglio in cui digitando nella casella C4 il codice del cliente mi estrapoli una tabella in cui mi siano riportati i codici dal cliente utilizzati ... es. Cliente: Pippo Tabella: codice Q.tà xxxxx 1000 (la quantità la estrapolo da un'altra tabella) Il problema è che sò cosa deve fare la macro ma non riesco a tradurlo in maniera corretta nel linguaggio basic ... Help!!!
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
Salve Considerando la Tabella in foglio1 che parte da A1 trilogy76 ha scritto: Codice Cliente 1 Cliente 2 Cliente 3 xxxxx Pippo Pluto yyyyy Minni Topolino Silvestro zzzzz Minni Pippo Silvestro
che in Foglio2 il nome Cliente in cella C4 La tabella risultante in Foglio2 a partire da cella D4 sarà il risultato della macro che segue: Code: Sub test2() Dim cod() n = 0 With Sheets("Foglio1") Lrow = .Range("b2").CurrentRegion.Rows.Count Lcol = .Range("b2").CurrentRegion.Columns.Count Set rng = Range(.Cells(2, 2), .Cells(Lrow, Lcol)) X = Sheets("foglio2").Range("C4").Value For Each cl In rng If cl.Value = X Then ReDim Preserve cod(n) cod(n) = .Cells(cl.Row, 1).Value n = n + 1 End If Next End With riga = 4 With Sheets("foglio2") For y = LBound(cod) To UBound(cod) .Cells(riga, 4).Value = cod(y) riga = riga + 1 Next y End With Set rng = Nothing End Sub
La quantità non sapendo come e dove prelevarla è stata omessa. saluti Giap
|
|
Rank: Newbie
Iscritto dal : 5/25/2012 Posts: 7
|
Salve Giap! una informazione a livello didattico ... al momento sto studiando sul seguente testo "LE MACRO DI EXCEL - REED JACOBSON - MONDADORI" (aveva anche il cd per la pratica ma chi me l'ha prestato l'ha perso) ... avresti per caso da consigliarmi qualche altro libro che per una principiante come me andrebbe meglio?
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve vedi QUIsaluti Giap
|
|
Rank: Newbie
Iscritto dal : 5/25/2012 Posts: 7
|
a10n11 ha scritto:Salve Considerando la Tabella in foglio1 che parte da A1 trilogy76 ha scritto: Codice Cliente 1 Cliente 2 Cliente 3 xxxxx Pippo Pluto yyyyy Minni Topolino Silvestro zzzzz Minni Pippo Silvestro
che in Foglio2 il nome Cliente in cella C4 La tabella risultante in Foglio2 a partire da cella D4 sarà il risultato della macro che segue: Code: Sub test2() Dim cod() n = 0 With Sheets("Foglio1") Lrow = .Range("b2").CurrentRegion.Rows.Count Lcol = .Range("b2").CurrentRegion.Columns.Count Set rng = Range(.Cells(2, 2), .Cells(Lrow, Lcol)) X = Sheets("foglio2").Range("C4").Value For Each cl In rng If cl.Value = X Then ReDim Preserve cod(n) cod(n) = .Cells(cl.Row, 1).Value n = n + 1 End If Next End With riga = 4 With Sheets("foglio2") For y = LBound(cod) To UBound(cod) .Cells(riga, 4).Value = cod(y) riga = riga + 1 Next y End With Set rng = Nothing End Sub
La quantità non sapendo come e dove prelevarla è stata omessa. saluti Giap Ho fatto girare la macro che gentilmente mi ha riportato e mi si è bloccata al punto "For y = LBound(cod) To UBound(cod)" mi dice che sia LBound sia UBound sono indici non inclusi nell'intervallo ...
|
|
Rank: Newbie
Iscritto dal : 5/25/2012 Posts: 7
|
Grazie mille in anticpo ... stasera a casa do un'occhiata ... purtroppo in azienda riesco solo ad entrare (fortunatamente) solo in questo sito
|
|
Guest |