Hi Marcelo
Both the array and Macro work but the macro is much more efficient
So your code ends up being
Sub xTest()
Dim sCat As String
Dim dic As Object, vData As Variant, i As Long
Dim StartTime As Double, ElapsedTime As Double
StartTime = Timer
sCat = "Doors"
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = vbTextCompare
'vdata has 550000 rows
vData = Range("A2:D" & Cells(Rows.Count, "A").End(xlUp).Row)
For i = 1 To UBound(vData, 1)
Select Case vData(i, 1)
Case 238, 397 'IDs of interest
If vData(i, 4) = sCat Then dic(vData(i, 3)) = Empty
End Select
Next i
Range("M2") = dic.Count
ElapsedTime = Timer - StartTime
With Range("O2")
.Value = ElapsedTime
.NumberFormat = "0.0000"
End With
End Sub
So question if my raw data is in Columns A:D
but my results layout is as follows below F:N
So the sector has 5 results defined by name (G:K) for each sector defined in Column F
The category I am looking at is in column L
and the distinct result needs to go into column M for each row
So for row 2 the distinct result needs to go into M2 for the stores defined in G2:K2
how do I amend the code without specifying the case, each store ID separately
R
[TABLE="width: 500"]
<tbody>[TR]
[TD="align: center"]
[/TD]
[TD="align: center"]
A[/TD]
[TD="align: center"]
B[/TD]
[TD="align: center"]
C[/TD]
[TD="align: center"]
D[/TD]
[TD="align: center"]
E[/TD]
[TD="align: center"]
F[/TD]
[TD="align: center"]
G[/TD]
[TD="align: center"]
H[/TD]
[TD="align: center"]
I[/TD]
[TD="align: center"]
J[/TD]
[TD="align: center"]
K[/TD]
[TD="align: center"]
L[/TD]
[TD="align: center"]
M[/TD]
[TD="align: center"]
N[/TD]
[/TR]
[TR]
[TD="align: center"]
1
[/TD]
[TD="align: center"]
Store ID[/TD]
[TD="align: center"]
Store Name[/TD]
[TD="align: center"]
SKu[/TD]
[TD="align: center"]
Category[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
Sector[/TD]
[TD="align: center"]
1[/TD]
[TD="align: center"]
2[/TD]
[TD="align: center"]
3[/TD]
[TD="align: center"]
4[/TD]
[TD="align: center"]
5[/TD]
[TD="align: center"]
Category[/TD]
[TD="align: center"]
Result[/TD]
[TD="align: center"]
Timer[/TD]
[/TR]
[TR]
[TD="align: center"]
2[/TD]
[TD="align: center"]
238[/TD]
[TD="align: center"]
St Albans[/TD]
[TD="align: center"]
100034[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
AL11[/TD]
[TD="align: center"]
St Albans[/TD]
[TD="align: center"]
Watford[/TD]
[TD="align: center"]
Hemel[/TD]
[TD="align: center"]
Borehamwood[/TD]
[TD="align: center"]
Barnsley[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
3[/TD]
[TD="align: center"]
297[/TD]
[TD="align: center"]
Watford[/TD]
[TD="align: center"]
100034[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
AL23[/TD]
[TD="align: center"]
Watford[/TD]
[TD="align: center"]
St Albans[/TD]
[TD="align: center"]
Hemel[/TD]
[TD="align: center"]
Borehamwood[/TD]
[TD="align: center"]
Barnsley[/TD]
[TD="align: center"]
Timber[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
4[/TD]
[TD="align: center"]
96[/TD]
[TD="align: center"]
Hemel[/TD]
[TD="align: center"]
100034[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
AL34[/TD]
[TD="align: center"]
Luton[/TD]
[TD="align: center"]
Dunstable[/TD]
[TD="align: center"]
Hemel[/TD]
[TD="align: center"]
St Albans[/TD]
[TD="align: center"]
Stevenage[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
5[/TD]
[TD="align: center"]
467[/TD]
[TD="align: center"]
Borehamwood[/TD]
[TD="align: center"]
100034[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
6[/TD]
[TD="align: center"]
247[/TD]
[TD="align: center"]
Barnsley[/TD]
[TD="align: center"]
101000[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
7[/TD]
[TD="align: center"]
296[/TD]
[TD="align: center"]
Blackpool[/TD]
[TD="align: center"]
200604[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
8[/TD]
[TD="align: center"]
37[/TD]
[TD="align: center"]
Bridgwater[/TD]
[TD="align: center"]
101000[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
[TR]
[TD="align: center"]
9[/TD]
[TD="align: center"]
77[/TD]
[TD="align: center"]
Bristol[/TD]
[TD="align: center"]
123456[/TD]
[TD="align: center"]
Doors[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[/TR]
</tbody>[/TABLE]
****** id="cke_pastebin" style="position: absolute; top: 104px; width: 1px; height: 1px; overflow: hidden; left: -1000px;">
[TABLE="class: cms_table_grid"]
<tbody>[TR]
[TD="bgcolor: #DCE6F1"][/TD]
[TD="bgcolor: #DCE6F1"]A
[/TD]
[TD="bgcolor: #DCE6F1"]B
[/TD]
[TD="bgcolor: #DCE6F1"]C
[/TD]
[TD="bgcolor: #DCE6F1"]D
[/TD]
[TD="bgcolor: #DCE6F1"]E
[/TD]
[TD="bgcolor: #DCE6F1"]F
[/TD]
[TD="bgcolor: #DCE6F1"]G
[/TD]
[TD="bgcolor: #DCE6F1"]H
[/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]1
[/TD]
[TD]StoreId
[/TD]
[TD]StoreName
[/TD]
[TD]itemno
[/TD]
[TD]Category
[/TD]
[TD][/TD]
[TD]StoreName
[/TD]
[TD]Category
[/TD]
[TD]Result
[/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]2
[/TD]
[TD]238
[/TD]
[TD]St Albans
[/TD]
[TD]100034
[/TD]
[TD]Doors
[/TD]
[TD][/TD]
[TD]St Albans
[/TD]
[TD]Doors
[/TD]
[TD]2
[/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]3
[/TD]
[TD]397
[/TD]
[TD]Watford
[/TD]
[TD]100034
[/TD]
[TD]Doors
[/TD]
[TD][/TD]
[TD]Watford
[/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]4
[/TD]
[TD]238
[/TD]
[TD]St Albans
[/TD]
[TD]100103
[/TD]
[TD]Timber
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]5
[/TD]
[TD]397
[/TD]
[TD]Watford
[/TD]
[TD]100103
[/TD]
[TD]Timber
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]6
[/TD]
[TD]238
[/TD]
[TD]St Albans
[/TD]
[TD]100269
[/TD]
[TD]Paint
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]7
[/TD]
[TD]238
[/TD]
[TD]St Albans
[/TD]
[TD]100324
[/TD]
[TD]Woodcare
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]8
[/TD]
[TD]397
[/TD]
[TD]Watford
[/TD]
[TD]100324
[/TD]
[TD]Woocare
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]9
[/TD]
[TD]238
[/TD]
[TD]St Albans
[/TD]
[TD]100803
[/TD]
[TD]Doors
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]10
[/TD]
[TD]397
[/TD]
[TD]Watford
[/TD]
[TD]100803
[/TD]
[TD]Doors
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="bgcolor: #DCE6F1"]11
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
</tbody>[/TABLE]
</body>