Try
Sub blah()
For myCol = 1 To 3 Step 2 'col A to C step 2, so just A and C
myRow = 1
Do
CurrVal = Cells(myRow, myCol).Value
NoOfCurrValsInA = Application.WorksheetFunction.CountIf(Range(Cells(1, 1), Cells(1, 1).End(xlDown)), CurrVal)
NoOfCurrValsInC = Application.WorksheetFunction.CountIf(Range(Cells(1, 3), Cells(1, 3).End(xlDown)), CurrVal)
MyDiff = NoOfCurrValsInA - NoOfCurrValsInC
If MyDiff > 0 Then Cells(1, 3).End(xlDown).Offset(1, 0).Resize(MyDiff) = CurrVal
If MyDiff < 0 Then Cells(1, 1).End(xlDown).Offset(1, 0).Resize(-MyDiff) = CurrVal
myRow = myRow + 1
Loop Until Cells(myRow, myCol) = "" 'stop on first empty cell
Next myCol
End Sub
No blanks in either list, starts at row 1. Sheet to be processed must be the active sheet. Works OK here xl2003, xp home.
p45cal