try like
if not cells(i, j).hidden then
     If j = 2 Then Cells(i, 1).Interior.ColorIndex = intColour
     Cells(i, j).Select
     'see if value same or different, then colour cell accordingly:
      If Cells(i, j).Value > Cells(i - 1, j).Value + 2 Then
         intColour = (intColour + 1) Mod 55
         'avoid background colour being same as text (black in this case)
         If intColour = 1 Then intColour = 2
         Cells(i, j - 5).Select
         Selection.Interior.ColorIndex = intColour
         Else
         Selection.Interior.ColorIndex = Cells(i, j).Interior.ColorIndex
     End If
  end if
but you should try to avoid the use of selection and selecting, just use fully qualified address