I tested your macro in a column with 50,000 rows of data.
It worked perfectly.
Did you repeat your test more often and at all times he stopped after 30 lines?
Remember: Your macro only works while the cells are different from empty.
You put this condition in the Do While statement.
Check your data.
Locate the first three consecutive empty cells in the column.
The value before it should be the last occurrence in your new table.
I hope it helps.
Belo Horizonte, Brasil.