First, stop using Interior.Color = Some RGB value.
Excel changes that RGB value to the closest match in the Cells Format ColorPicker dialog. (For example, on my machine, 49407 translates to an Orange, ColorIndex 44.) Then, when you ask it to check the Cell's interior.Color, it has to perform an RGB fucntion,Change the value to the nearest match, then compare.
If you use Interior.ColorIndex, then Excel just looks in a table. BTW, the ColorIndex of nearest shade of Grey to that RGB on my machine is 15. 8421631, a pink, ColorIndex is 22
Change the Address in this snippet to one of your 49407 colored cells and run
Sub t()
With Range("A1")
.Value = .Interior.ColorIndex
End With
End Sub
to find the actual ColorIndex Excel is using for that RGB value
You can make a table of all ColorIndices and matching hues with
Sub ColorIndices()
Dim i as long
With Range("A:A")
With .Cells(i)
.Value = i
.Interior.ColorIndex = i
End With
End With
Next
Second. Quit using "ActiveCell." Everytime VBA sees "ActiveCell" it has to look at he Worksheet to see which cell is currently active.
Dim Found as Range 'Don't skip using Found and Checking it for Nothing. That way lies madness!
Dim PoolCell As Range
Dim VendCell As Range
Set Found = [LIFOPoolColumn].Find(What:="LIFO Pool", LookIn:=xlFormulas _
, LookAt:=xlPart, MatchCase:=False, SearchFormat:=True)
'Are you sure about SearchFormat? I cannot see where you set up the prerequisites for using it.
'Edit [LIFOPoolColumn] to the Column Address, Ex(Range("Z:Z"))
'Hard to give perfect advice, since I can't see the worksheet
If Found is Nothing, then Exit Sub
set PoolCell = Found.Offset(1)
Set VendCell = PoolCell.Offset(, 1)
'Start loop
'Blah Edit all ActiveCell to PoolCell
'Blah Edit all ActiveCell.Offset(, 1) to VendCell
'blah
'blah
'At the botttom of the loop,
'Instead of ActiveCell.Offset(1).Select
Set PoolCell = PoolCell.Offset(1)
Set VendCell = VendCell.Offset(1)
loop