I think I'd go for the below:
Public Sub CopyData()
Dim RowNumber As Long
Dim columnNumber As Integer
Dim sRng As Range
Application.ScreenUpdating = False
Sheets("Counts").AutoFilterMode = False
With Sheets("Order")
Set sRng = .Cells(1, 1).CurrentRegion.Offset(1, 0).Resize(.Cells(1, 1).CurrentRegion.Rows.Count - 1, 4)
End With
With sRng
For RowNumber = 2 To .Rows.Count
For columnNumber = 1 To 3
Sheets("Counts").Cells(1, 1).CurrentRegion.AutoFilter _
Field:=columnNumber, Criteria1:="=" & .Cells(RowNumber, columnNumber).Value
Next columnNumber
With Sheets("Counts").UsedRange.SpecialCells(xlCellTypeVisible)
.Cells(.End(xlDown).Row, 6).Value = sRng.Cells(RowNumber, 4).Value
.Cells(.End(xlDown).Row, 6).Interior.Color = vbYellow
End With
Next RowNumber
End With
Sheets("Counts").AutoFilterMode = False
Application.ScreenUpdating = True
End Sub
Bookmarks