Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Macro in excel ... help!!!! Opzioni
trilogy76
Inviato: Tuesday, June 05, 2012 3:42:00 PM
Rank: Newbie

Iscritto dal : 5/25/2012
Posts: 7
Eccomi qua con i miei problemi a creare macro in excel ...d'oh!
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 ...Anxious
Sponsor
Inviato: Tuesday, June 05, 2012 3:42:00 PM

 
a10n11
Inviato: Tuesday, June 05, 2012 8:07:06 PM

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



trilogy76
Inviato: Wednesday, June 06, 2012 8:22:30 AM
Rank: Newbie

Iscritto dal : 5/25/2012
Posts: 7
Grazie mille Gaip!
Sei un genio!!!! I miei complimenti ... Applause
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!! d'oh!

Ora mi metto a studiarla per cerca di capire passo passo come funziona ...Think
a10n11
Inviato: Wednesday, June 06, 2012 9:43:27 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
grazie a te per il riscontro
saluti
Giap

trilogy76
Inviato: Tuesday, July 10, 2012 7:33:00 AM
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 ... Brick wall
Help!!!


a10n11
Inviato: Tuesday, July 10, 2012 10:20:59 AM

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

trilogy76
Inviato: Tuesday, July 17, 2012 8:09:06 AM
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?
a10n11
Inviato: Tuesday, July 17, 2012 11:59:55 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
vedi QUI
saluti
Giap

trilogy76
Inviato: Wednesday, July 18, 2012 8:14:45 AM
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 ... Brick wall
trilogy76
Inviato: Wednesday, July 18, 2012 8:17:14 AM
Rank: Newbie

Iscritto dal : 5/25/2012
Posts: 7
a10n11 ha scritto:
salve
vedi QUI
saluti
Giap


Grazie mille in anticpo ... stasera a casa do un'occhiata ... purtroppo in azienda riesco solo ad entrare (fortunatamente) solo in questo sito Dancing
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.