Sub REW2()
Dim d As Object, i&, rw&, j&, a&, c&, sn, Q, y(), it, s$, SP, cr&, kl&
kl = 1
With Sheet1.[A1].CurrentRegion
sn = .Value
Dim k(1 To 3)
Set d = CreateObject("scripting.dictionary")
For cr = 1 To UBound(k)
ReDim y(1 To UBound(sn, 1), 1 To UBound(sn, 2) * cr)
For i = 1 To UBound(sn)
k(1) = sn(i, 1) & sn(i, 2)
k(2) = sn(i, 1) & sn(i, 3)
k(3) = sn(i, 2) & sn(i, 3)
If Not .Cells(i, 10) = "A" Then
If Not d.Exists(k(cr)) Then
d.Add k(cr), Array(.Cells(i, 1).Address, Cells(i, 1).Row, 1)
Else
Q = d(k(cr))
Q(0) = Q(0) & "," & .Cells(i, 1).Address
Q(1) = Q(1) & "," & Cells(i, 1).Row
Q(2) = Q(2) + 1
d(k(cr)) = Q
End If
End If
Next i
For Each ky In d: If d(ky)(2) = 1 Then d.Remove ky
Next ky
For Each it In d.keys
SA = d(it)(0)
.Range(SA).Offset(, 9) = "A"
SP = ""
SP = Split(d(it)(1), ",") 'INPUT ROW
For c = 0 To UBound(SP)
If Len(c) Then rw = rw + 1
For j = 1 To UBound(sn, 2)
y(rw, j) = .Cells(SP(c), j)
Next j
Next c
Next it
.Cells(16, kl).Resize(UBound(y, 1), UBound(y, 2)) = y
kl = kl + (UBound(sn, 2))
rw = 0: c = 0: j = 1
d.RemoveAll
Next cr
.Columns(10).ClearContents
End With
End Sub
Bookmarks