
'in colonna A i codici di riferimento 'in colonna B i codici EAN e i sottocodici 'effettua n ordinamento dei dati con ordine crescente per la colonna A e in ordine decrescente per la colonna B 'formula in colonna C la cui prima riga è etichettata per esempio "match": =SE(A1=A2;C1+1;1) 'la formula va trascinata per tutte le righe del database 'fai un filtro automatico sulla terza colonna match e individua i valori "1" 'copia e incolla altrove il risultato |
colonna a colonna b match 0263165 4002515193435 1 0263166 4002515193433 1 0263167 4002515193440 1 0263168 4002515193457 1 0263169 4002515193730 1 0263170 4002515188965 1 0263171 886919007824 1 0263172 000000005N5I0 1 |
'In un Modulo:
Option Explicit
Sub DemoVba()
Const Riga As Long = 2
Dim r As Long, dic As Object
Dim Data As Variant
Dim i As Long, l As Long
Dim k
Dim j
r = Range("A" & Rows.Count).End(xlUp).Row
Data = Range("A" & Riga & ":B" & r)
Set dic = CreateObject("scripting.dictionary")
dic.comparemode = 1
For i = 1 To UBound(Data, 1)
dic.Item(Data(i, 1)) = dic.Item(Data(i, 1)) + 1 'add the count
Next
ReDim pos(1 To UBound(dic.items) + 1, 1 To 2)
j = 1
For Each k In dic.items
l = l + 1
pos(l, 1) = Data(j, 1)
pos(l, 2) = Data(j, 2)
j = j + k
Next
Range("M1") = "colonna a"
Range("N1") = "colonna b"
Range("M2:N2").Resize(dic.Count) = pos
End Sub
|
