ник: snipe
про количество строк поняли правильно
а вот в том коде который я вам присылал вы не разобрались совсем
а там принцип такой
берется ячейка из строки i и сверяется с ячейкой из строки i+j если совпадают то пытаемся вычислить диапазон который надо выделить а конец диапазона будет в предыдущей строке от ячейки которая не равна ячейке в строке i теперь когда диапазон известен можно и объединить
но брать ячейку i+1 нет смысла значит следующая ячейка с которой будем сравнивать будет i+j
таким образом вы все равно пробегаете по всем строкам (ну в вашем примере 350*4=1400) однако количество объединений будет гораздо меньше