Sure - let's look at just your nested loops where you do the check and coloring.
First, to make it so that a value not found results in a highlighted row, using your nested loop for the check:
For x = 1 To Currrpt.Cells(3, 1).End(xlDown).Row
For y = 1 To Prevrpt.Cells(3, 1).End(xlDown).Row
If Currrpt.Cells(x, 1) = Prevrpt.Cells(y, 1) Then GoTo FoundIt
Next y
With Currrpt.Cells(x, 1).Resize(1, 12)
.Font.Color = -16776961
.Font.Bold = True
End With
FoundIt:
Next x
Now, to make it so that we don't use the interior nested loops for the check - this code uses the worksheet function Match, which will return the row number if it finds a value in the column, and an error if it is not found:
For x = 1 To Currrpt.Cells(3, 1).End(xlDown).Row
If IsError(Application.Match(Currrpt.Cells(x, 1).Value, Prevrpt.Range("A:A"), False)) Then
With Currrpt.Cells(x, 1).Resize(1, 12)
.Font.Color = -16776961
.Font.Bold = True
End With
End If
Next x
Bookmarks