well,
looking again on the code, I can see that it probably stops at (choose "debug" when error message pops out, and see what line is highlihjted in yellow)
But this is a line which was already in your original code .
Nevertheless, after next look I think it will be better to use down-up_loop, not every_cell_in_a_range loop.
every_cell_in_a_range loop is not effective, because after splitting some cell (say P15 which contained aaa,bbb,ccc) into P15, P16 and P17 the procedure will check P16 (now with bbb) and P17 (ccc).
I also changed inner loop for copying values into single line.
Try this version:
Bookmarks