Grazie di cuore Dodo47, cerco di applicarla stamane.
Comunque diciamo che non sono più molto pratico di vb, anni fa lo facevo scolastico, quindi molte formule sono avanzate nel listato che hai messo.
Ti posso fare una domanda ancora?
se puoi, posso chiederti la spiegazione logica? semplicemente sarebbe bello capire bene ciò che hai fatto e potrebbe tornarmi utile per un futuro
se puoi sempre!
... e per ultimo (giuro!)posso chiederti un'ultima cortesia?
anziché ordinarle per numero negozio, come è possibile ordinarle mettendo prima i negozi con più prodotti?
Grazie ancora!!!!!
-------
Sto cercando intanto di applicarla nel mio foglio questa funzione, ma proprio non va, se applico tutto al TUO foglio va perfetto, sto cercando di capire ma è troppo avanti!
wkfr credo sia il foglio d'appartenenza base, wkto quello di destinazione, ur credo sia la dimensione completa della tabella.
mcol ed mcod sono delle variabili temporanee che utilizzi per portare i valori di negozi e prodotti;
With WkFr
For Each cel In .Range("B2:U" & ur)
If cel <> "" Then
On Error Resume Next
mCol.Add cel.Value, CStr(cel)
On Error GoTo 0
End If
Next"
[per ogni cella da b2...se diversa da nulla vai avanti,altrimenti in mcol carica il valore e avanti, ma non ho capito come rende univoci i risultati]
------------------------------------------------------------------
' per ogni negozio cerca i relativi prodotti
riga = 2
col = 1
For i = 1 To mCol.Count
mCod = mCol(i)
WkTo.Cells(riga, col) = mCod
With WkFr.Range("B2:K" & ur)
---[definisci da dove partire, per i=1 sino alla fine dei negozi caricati in mcol, poi mcod carica nella cella del nuovo foglio il negozio in mcol...]
Set c = .Find(mCod, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstaddress = c.Address
--[qua proprio non lo so]
Do
col = col + 1
WkTo.Cells(riga, col) = WkFr.Cells(c.Row, 1)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
col = 1
riga = riga + 1
---[qui completi la trascrizione]
Next
MsgBox "fine elaborazione"
WkTo.Select
Set WkFr = Nothing
Set WkTo = Nothing
End Sub
----------------------------------------------------------------------
GRAZIE DAVVERO PER TUTTA LA PAZIENZA
[Modificato da Celluman 28/04/2017 13:59]