Difficult to comment with out seeing the entire code.

Try

If InStr(UCase(Range(CatCol & j)), UCase(MyArray(i)))>0 Then