Function syntax to compare cell contents

G

Guest

I am trying to create a macro to compare the contents of cells in two
columns. I tried using the 'EXACT' syntax, but it doesn't seem to work for
the comparison I need to do.

Here is an example of the comparison I would like to perform:

cell a: apple, orange cell b: apple orange = true
cell a: apple, orange, pear cell b: apple, orange = true
cell a: apple, orange cell b: apple, pear = false

So the logic I am trying to capture is that if anything in cell b is foriegn
to cell a than the result is false. But if cell b contains data that is
found in cell a than the formula is true, even if cell a contains more data
than cell b.

My question is if it is possible to create a formula to solve this logic.

Thank you,
ES
 
B

Bob Phillips

Here's a shot

Sub Test()
Dim iLastRow As Long
Dim i As Long, j As Long, k As Long
Dim fA As Boolean, fB As Boolean
Dim aryB, aryA

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To iLastRow
aryA = Split(Replace(Cells(i, "A").Value, ",", ""), " ")
aryB = Split(Replace(Cells(i, "B").Value, ",", ""), " ")
For j = LBound(aryA) To UBound(aryA)
fA = False
For k = LBound(aryB) To UBound(aryB)
If aryA(j) = aryB(k) Then
fA = True
Exit For
End If
Next k
If Not fA Then Exit For
Next j
For j = LBound(aryB) To UBound(aryB)
fB = False
For k = LBound(aryA) To UBound(aryA)
If aryB(j) = aryA(k) Then
fB = True
Exit For
End If
Next k
If Not fB Then Exit For
Next j
If fA Or fB Then
Cells(i, "C").Value = True
Else
Cells(i, "C").Value = False
End If

Next i

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top