Try this:-
Sub MG04Dec09
Dim Rng As Range, Dn As Range
Dim Lst As Long, n As Long, c As Long
Dim Frng As Range, Ac As Long, col As Long
Dim RStg As String, p As Long, K As Variant
Dim Q As Variant, Sp As Variant
Lst = Range("A" & Rows.Count).End(xlUp).Row
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For n = 2 To Lst Step 24
For Ac = 1 To 24
Set Frng = Range(Cells(n, Ac), Cells(n + 23, Ac))
RStg = Join(Application.Transpose(Frng))
If Not .Exists(RStg) Then
.Add RStg, Array(Frng, Frng.Address)
Else
Q = .Item(RStg)
Q(1) = Q(1) & "," & Frng.Address
.Item(RStg) = Q
End If
Next Ac
Next n
c = 1
For Each K In .keys
c = c + 1
Sheets("Position").Cells(c, 1) = .Item(K)(0).Address
Sp = Split(.Item(K)(1), ",")
For p = 1 To UBound(Sp)
Sheets("Position").Cells(c, p + 1) = Sp(p)
Next p
Next K
MsgBox "Run"
End With
End Sub
Regards Mick
Bookmarks