Air code, but I've used it many times before...just for those little BOMS you don't want to look at colored cells to choose:
Sub Comparison()
Dim u as long
Dim v as long
Dim x as long
Dim y as long
Dim yhi as long
Dim yLo as long
Dim z as long
Dim aItemNo1() As Long
u = 9629 'Number of rows in BOM1
v = 6084 'Number of rows in BOM2
reDim aItemNo1(u) As Long
'Loads the part numbers from first BOM into memory
For y = 1 To u
aItemNo1

= Workbooks("BOM1.xls").Sheets(1).Cells(y, 1).Value
Next y
yHi = u
yLo = 1
For x = 1 To v
'Gets second BOM part number one at a time
ItemNo2 = Workbooks("BOM2.xls").Sheets(1).Cells(x, 1).Value
'Does the searching to find if its there
Do
y = (ylo + yhi) \ 2
z = aItemNo1

- ItemNo2
Select Case Z
Case 0
exit do
Case Is < 0
yLo = y + 1
Case else
yHi = y - 1
End Select
if yLo > yhi then
y = 0
exit do
end if
Loop
If y = 0 Then
'If you cant find the second BOM P/N in the first BOM, write the PN and comment to other excel file.
Workbooks("Addedparts.xls").Sheets(1).Cells(i, 1) = ItemNo2
Workbooks("Addedparts.xls").Sheets(1).Cells(i, 2) = "No Match"
i = i + 1
Else
For Y = Y To 1 Step -1
if aItemNo1

<> ItemNo2 then exit for
Next
For y = y + 1 To U
if aItemNo1

<> ItemNo2 then exit for
h = h + 1
Next
End If
Next x
End Sub
NOTE: Iif you reverse the two bom names and run again you can get the parts REMOVED from BOM...someday I'll automate that.