Condividi:        

catalogo prodotti - come estrarre le taglie?

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

catalogo prodotti - come estrarre le taglie?

Postdi stefano_birdofprey » 22/09/12 23:42

Ciao a tutti.
qui potete scaricare un file che è un estratto del listino prodotti di un fornitore.
in pratica la colonna A è l'elenco così come me lo fornisce il fornitore.
la colonna B indica i codici "madre" di ogni articolo
la colonna C è una formula che mi indica sulla riga del codice "madre" il numero di taglie (se mai dovesse servire anche per i calcoli successivi).
le colonne da D in poi dovrebbero indicarmi, in corrispondenza delle righe con il codice "madre", le taglie (il numero delle taglie non è sempre lo stesso)

quello che voglio fare è creare una formula che metta nella cella D16 il valore della cella A2, in E16 il valore di A3 e così via (ovviamente i valori A2, A3 vanno prima modificati "sottraendo" il codice madre (basta il comando SOSTITUISCI per quello), in modo che resti solo il numero della taglia).
ma nella cella D16 non posso fare una formula del tipo "=D(16-il valore della cella C16)", e nella cella E16 il valore "=D(16-il valore della cella C16 - 1) e così via..
Quello che mi serve ottenere è, in corrispondenza delle righe in cui c'è il "codice madre" di ogni articolo, l'elenco delle taglie, ricavate dai codici, come nelle righe con il testo in rosso.

Idee? Suggerimenti? Soluzioni?
stefano_birdofprey
Utente Junior
 
Post: 13
Iscritto il: 27/01/12 00:45

Sponsor
 

Re: catalogo prodotti - come estrarre le taglie?

Postdi Flash30005 » 22/09/12 23:56

dove qui? :roll:
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: catalogo prodotti - come estrarre le taglie?

Postdi ricky53 » 23/09/12 00:42

Ciao,
una volta ottenuti i dati delle taglie che utilizzo ne farai?

I dati organizzati in quel modo sono difficilmente utilizzabili per elaborazioni o altro.
Per questo motivo ti ho fatto la domanda.

Non sarebbe meglio avere i dati in un altro foglio e senza righe vuote ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: catalogo prodotti - come estrarre le taglie?

Postdi stefano_birdofprey » 23/09/12 10:12

ciao ricky,
nessun problema: ti spiego l'uso che ne devo fare.
Devo usare questi dati per compilare un altro foglio excel da cui poi genererò un file csv per caricare gli articoli sul mio sito.
Mentre nel loro listino c'è una riga per ogni prodotto (perchè per ogni riga danno informazioni anche sull'effettiva disponibilità, che richiederà un'estrapolazione simile a quella di cui ho bisogno qui...) nel mio file, ogni riga corrisponde ad un prodotto -il codice madre, appunto. Quindi sulla stessa riga, ad un certo punto devo inserire delle celle con dei particolari valori per identificare le varianti di taglie (per ogni taglia devo inserire in effetti 4 celle, codice variante, eventuale prezzo in più, etichetta variante lingua italiana, etichetta variante lingua inglese).

Quindi per me è tutto sommato "comodo" fare in modo di avere la sequenza di celle che indicano il range di taglie, perchè poi posso ordinare tutto il foglio in modo da "raggruppare" gli articoli che hanno range di taglie simili e semplicemente fare un copia-incolla della strisciata di celle che corrispondono alla combinazione di codici necessari per dire poi al sito di visualizzare quel range di taglie.
Questo è un lavoro che devo fare solo una volta per ogni articolo (nel senso... non cambiano poi il range di taglie nel tempo) ma mi serve poterlo fare velocemente nel caso in cui aggiungano nuovi articoli in futuro.
Quindi, una "strisciata" di celle del tipo (il valore delle celle l'ho inserito tra parentesi per far capire):
(35) - (36) - (37) - (38) - (39)
è facile da sostituire con la seguente:

2183) - (0) - (35 ITA) - (35 ITA) - (2185) - (0) - (36 ITA) - (36 ITA) - (2187) - (0) - (37 ITA) - (37 ITA) - (2189) - (0) - (38 ITA) - (38 ITA) - (2191) - (0) - (39 ITA) - (39 ITA)
stefano_birdofprey
Utente Junior
 
Post: 13
Iscritto il: 27/01/12 00:45

Re: catalogo prodotti - come estrarre le taglie?

Postdi Flash30005 » 23/09/12 11:16

Questa macro dovrebbe risolvere il quesito (traporre le taglie come indicato nel foglio)
Codice: Seleziona tutto
Sub Trasponi()
Set Ws1 = Worksheets("Foglio1")
Ws1.Columns("D:IV").ClearContents
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 2 To UR1
NT = Ws1.Range("C" & RR1).Value
If IsNumeric(NT) Then
CC2 = 3
For RR2 = RR1 - NT To RR1 - 1
CC2 = CC2 + 1
CodP = Ws1.Range("A" & RR2).Value
LTr = InStrRev(CodP, "-")
NTag = Mid(CodP, LTr + 1, Len(CodP) - LTr)
Ws1.Cells(RR1, CC2).Value = NTag
Next RR2
End If
Next RR1
End Sub

ma se invii un facsimile di file .csv che occorre per la tua esigenza sarebbe possibile farlo sempre tramite macro in una unica soluzione.

ciao

N.B c'è un errore alla riga 28708 (TW10) non ci sono 19 prodotti con quel codice, stesso errore alla riga 7743 (M.373-C3) molto più grave (184 articoli? :eeh: )
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: catalogo prodotti - come estrarre le taglie?

Postdi Flash30005 » 23/09/12 11:47

Alla luce degli errori riscontrati, errori dovuti alla tua formula (Colonna C ) che utilizzavo per processare le righe, ho modificato la macro precedente e propongo questa
Codice: Seleziona tutto
Sub Trasponi()
Set Ws1 = Worksheets("Foglio1")
Ws1.Columns("D:IV").ClearContents
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
RigaIni = 2
For RR1 = 2 To UR1
NT = Ws1.Range("B" & RR1).Value
If NT <> "" Then
CC2 = 3
'Ws1.Cells(RR1, 3).Value = RR1 - RigaIni  '<<<<< scommentando questa riga sostituirai le formule della colonna C
For RR2 = RigaIni To RR1 - 1
CC2 = CC2 + 1
CodP = Ws1.Range("A" & RR2).Value
LTr = InStrRev(CodP, "-")
NTag = Mid(CodP, LTr + 1, Len(CodP) - LTr)
Ws1.Cells(RR1, CC2).Value = NTag
Next RR2
RigaIni = RR1 + 1

End If
Next RR1
End Sub


Per sostituire le formule della colonna C con il valore effettivo (e corretto) togli il commento alla riga-codice indicata

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: catalogo prodotti - come estrarre le taglie?

Postdi stefano_birdofprey » 24/09/12 15:32

ciao Flash,
non mi ero accorto degli errori. Con la formula che avevo creato in effetti non distingue tra TW10 e TW101.
ho provato la tua formula e funziona, ma genera una riga lunghissima di valori in concomitanza dei seguenti articoli:
M.247-C1 (riga 6318)
M.NEWMILI101-C1 (riga 21563)
come mai questi due articoli creano problemi? (bada bene... quello che hai fatto per me è già un lavorone... e 2 articoli con problemi su centinaia non sono un grande intoppo).
stefano_birdofprey
Utente Junior
 
Post: 13
Iscritto il: 27/01/12 00:45

Re: catalogo prodotti - come estrarre le taglie?

Postdi Flash30005 » 24/09/12 20:50

Con questa risolvi quei due problemi (dovuti alla mancanza di trascrizione del modello precedente)
Codice: Seleziona tutto
Sub Trasponi()
Set ws1 = Worksheets("Foglio1")
ws1.Columns("B:IV").ClearContents
UR1 = ws1.Range("A" & Rows.Count).End(xlUp).Row
RigaIni = 2
For RR1 = 2 To UR1
NT = ws1.Range("A" & RR1).Value
If (Len(Replace(Replace(NT, "-", ""), "-", "")) = Len(NT) - 1 Or Len(Replace(Replace(NT, "_", ""), "-", "")) = Len(NT) - 1) Or Len(Replace(NT, "-", "")) = Len(NT) Then
ws1.Range("B" & RR1).Value = NT
CC2 = 3
ws1.Cells(RR1, 3).Value = RR1 - RigaIni
For RR2 = RigaIni To RR1 - 1
CC2 = CC2 + 1
CodP = ws1.Range("A" & RR2).Value
LTr = InStrRev(CodP, "-")
NTag = Mid(CodP, LTr + 1, Len(CodP) - LTr)
ws1.Cells(RR1, CC2).Value = NTag
Next RR2
RigaIni = RR1 + 1
End If

Next RR1
End Sub


Purtroppo, però, rimangono errati gli articoli in fondo all'elenco
da riga 29275 alla riga 29286

per completo "stravolgimento" del codice

Potresti ottenere, anche per quei casi, una esatta trasposizione taglie se aggiungi un trattino nel codice prodotto come riporto qui
WR121552--XXXS
WR121552--XXS
WR121552--XS
WR121552--S
WR121552--M
WR121552--L
WR121552--XL
WR121552--XXL
WR121552--XXXL

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-


Torna a Applicazioni Office Windows


Topic correlati a "catalogo prodotti - come estrarre le taglie?":


Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti