For starters, your code probably runs through all rows more than once. UsedRange.Count yields the total number of used cells, not the number of rows.
Next thing to improve: Use arrays to hold the data rather than pulling it from each cell in turn:
This line :
vData = ActiveSheet.UsedRange.Value
is extremely fast compared to running through all cells in turn.
You can then loop through all values like so:
For lRow = 1 To Ubound(vData,1)
'Compare code goes here
Next
Finally, your dim statement is wrong:
Dim currentRowS1, currentRowS2 As Integer
means currentRowS1 is declared as Variant. Each variable needs its own " As " part.