Sub TrichLoc()
Dim Clls As Range, Cll As Range
Dim eRw As Long, eR As Long: Dim Timer_ As Double
Application.ScreenUpdating = False: Timer_ = Timer
Sheets("Data").Select: eRw = [A65500].End(xlUp).Row
For Each Clls In [Z2] ' Range([z2], [z2].End(xlDown))'
[e2].Value = Clls.Value
Range("A1:C" & eRw).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[E1].Resize(2), _
CopyToRange:=[E4].Resize(, 3), Unique:=False
eR = [e65500].End(xlUp).Row: [I2].Resize(eR, 4).ClearContents
Range("E4:G" & eR).Sort Key1:=Range("E5"), Order1:=1, Key2:=Range("G5") _
, Order2:=1, Header:=xlGuess, OrderCustom:=1, MatchCase:=False
For Each Cll In Range("E5:E" & eR)
With Cll
If (.Offset(1).Value <> .Value And .Value <> .Offset(-1).Value) Or _
(.Offset(1).Value = .Value And .Value <> .Offset(-1).Value) Then
[i65500].End(xlUp).Offset(1).Resize(, 3) = .Resize(, 3).Value
ElseIf .Offset(1).Value <> .Value And .Value = .Offset(-1).Value Then
[i65500].End(xlUp).Offset(, 3).Value = .Offset(, 2).Value
.Interior.ColorIndex = 38
Else
End If
End With
Next Cll
Next Clls
[g1].Value = Timer - Timer_
End Sub