Ну во
1. если конечное кол-во строк в документе ты не знаешь то целесообразнее было бы использовать while.
2. ты сам ответил на свой вопрос, задай матрицу в документе по столбикам и строкам.
3. цикл объединения неправильно задан.
попробуй разбей все на отдельные процедуры и функции. и действуй от этого уже.