Attribute VB_Name = "m_linee_commerciali"
'
Option Explicit
'
'
' trasferito
'
Sub CreaDizionarioLineeCommerciali()
' suddivide il file importato CARATTERISTAPRODOTTO (ECP)
' filtrando per sigla del produttore e marca,
' seleziona solo le righe con il codice: "LINEA COMMERCIALE"
' e crea un foglio per ognuna di esse.
'
Dim dizionario
Set dizionario = CreateObject("Scripting.Dictionary")
'
Dim quanterighe, contarighe, foglio, contenuto
Dim sigla, marca, identificativo, descrlinea
Dim sigladacercare, marcadacercare, identificativodacercare, contale
sigladacercare = "?sigla?"
marcadacercare = "?marca?"
identificativodacercare = "?id?"
Set foglio = Sheets("xlsCaratteristicheProdotto")
'
quanterighe = Range(foglio.UsedRange.Cells(foglio.UsedRange.Rows.Count, 1).Address).Row
'
contale = 0
contarighe = 2
While contarighe <= quanterighe
sigla = Trim(foglio.Cells(contarighe, "A").Value)
marca = Trim(foglio.Cells(contarighe, "B").Value)
identificativo = Trim(foglio.Cells(contarighe, "E").Value)
descrlinea = Trim(foglio.Cells(contarighe, "F").Value)
'
If sigla = sigladacercare Then
If marca = marcadacercare Then
If identificativo = identificativodacercare Then
If dizionario.Exists(descrlinea) = True Then
' msgbox "Key esiste!"
contenuto = dizionario.Item(descrlinea)
contenuto = contenuto & " " & contarighe ' memorizza la riga
dizionario.Item(descrlinea) = contenuto
Else
' msgbox "chiave non esiste!"
contenuto = contarighe
dizionario.Add descrlinea, contenuto
End If
End If
End If
End If
'
contarighe = contarighe + 1
Wend
'
Dim elenco, contatore, slinea, sriga, righe, nrvalori, srighe, rigacp, scriviriga
sriga = 1
elenco = dizionario.keys
For contatore = 0 To dizionario.Count - 1
slinea = elenco(contatore)
sriga = sriga + 1
Sheets("LineeCommerciali").Cells(sriga, "A").Value = slinea
Sheets("LineeCommerciali").Cells(sriga, "B").Value = dizionario.Item(slinea)
'
righe = Split(dizionario.Item(slinea), " ")
nrvalori = UBound(righe)
Sheets("Foglio3").Cells(sriga, "c").Value = UBound(righe)
'
scriviriga = 5
Sheets.Add
Columns("A:G").Select
Selection.NumberFormat = "@"
ActiveSheet.Range("A2").Value = "Marchio: "
ActiveSheet.Range("B2").Value = "?marchio?"
ActiveSheet.Range("A3").Value = "linea: "
ActiveSheet.Range("B3").Value = slinea
ActiveSheet.Range("a4").Value = "articolo"
ActiveSheet.Range("B4").Value = "descrizione"
For Each srighe In righe
rigacp = srighe
ActiveSheet.Cells(scriviriga, "A").Value = foglio.Cells(srighe, "C").Value ' articolo
ActiveSheet.Cells(scriviriga, "B").Value = foglio.Cells(srighe, "K").Value ' descrizione
scriviriga = scriviriga + 1
Next
'
Next
'
Set dizionario = Nothing
'
End Sub
'
Nessun commento:
Posta un commento