Sub CompareAdjoiningCells()
'This macro compares the value in Column A to Column B and returns _
the string position(s) where there is(are) a difference(s) between _
the two.
Dim rngCell As Range
For Each rngCell In Range("C2:C" & Range("A" & Rows.Count).End(xlUp).Row)
Dim intPosCnt As Integer
Dim strMyCompare As String
If rngCell.Offset(0, -1).Value <> _
rngCell.Offset(0, -2).Value Then
intPosCnt = 1
Do Until intPosCnt = 17
Select Case val(intPosCnt)
Case 1
If Left(rngCell.Offset(0, -1), intPosCnt) <> _
Left(rngCell.Offset(0, -2), intPosCnt) Then
strMyCompare = 1
End If
Case 2
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 3
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 4
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 5
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 6
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 7
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 8
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 9
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 10
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 11
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 12
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 13
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 14
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 15
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 16
If Mid(rngCell.Offset(0, -1), intPosCnt, 1) <> _
Mid(rngCell.Offset(0, -2), intPosCnt, 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
Case 17
If Right(rngCell.Offset(0, -1), 1) <> _
Right(rngCell.Offset(0, -2), 1) Then
If strMyCompare = "" Then
strMyCompare = intPosCnt
Else
strMyCompare = strMyCompare & ", " & intPosCnt
End If
End If
End Select
intPosCnt = intPosCnt + 1
Loop
End If
rngCell.Value = strMyCompare
strMyCompare = ""
Next
End Sub
Bookmarks