Tommy

Assumes that you have the 4 sheets in your file, with the data in sheet1 starting in A1

Sub aaa()
  Sheets("Sheet4").Cells.ClearContents
  Sheets("sheet4").Range("A:C").Value = Sheets("Sheet1").Range("A:C").Value
  With Sheets("sheet4")
    .Range("C1:C" & .Cells(Rows.Count, 3).End(xlUp).Row).TextToColumns Destination:=.Range("C1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :=":", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    .Range("A:B").Interior.ColorIndex = xlNone
    For Each ce In .Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
      If ce.Offset(0, 2) > ce.Offset(0, 3) Then
        ce.Interior.ColorIndex = 4
        ce.Offset(0, 1).Interior.ColorIndex = 5
      ElseIf ce.Offset(0, 2) < ce.Offset(0, 3) Then
        ce.Interior.ColorIndex = 5
        ce.Offset(0, 1).Interior.ColorIndex = 4
      End If
    Next ce
  End With
  
  
  Sheets("Sheet3").Range("A:B").Value = Sheets("Sheet4").Range("C:D").Value
  
  Dim nodupes As New Collection
  With Sheets("Sheet1")
    For Each ce In .Range("A1:B" & .Cells(Rows.Count, 2).End(xlUp).Row)
      On Error Resume Next
      nodupes.Add Item:=ce.Value, key:=ce.Value
      On Error GoTo 0
    Next ce
  End With
  
  With Sheets("Sheet2")
    .Cells.ClearContents
    For i = 1 To nodupes.Count
      .Cells(i, "A").Value = nodupes(i)
    Next i
    .Range(.Range("A1"), .Range("A1").End(xlDown)).Sort key1:=.Range("A1"), Order1:=xlAscending, header:=xlNo
  End With
  
End Sub
rylo