Alexban, добрый день!
В ваш код добавил строки (см строки с комментарием sancho...):
[vba]Код
'...
c0 = 31 ' Количество строк в выделенной области, шаг
Sheets("ТОП 100").HPageBreaks.Add before:=Sheets("ТОП 100").Rows(c0) ' sancho - добавляем границу печати первого листа
a = 1
LastRow = Sheets("Лист1").Cells(Rows.Count, "A").End(xlUp).Row 'Последняя строка
Do
Range("A" & c0).Select
ActiveSheet.Paste ' Вставляем в выделенную область
c0 = c0 + 28
Sheets("ТОП 100").HPageBreaks.Add before:=Sheets("ТОП 100").Rows(c0) ' sancho - добавляем границу печати последующих листов
'...
[/vba]
PS: на мой взгляд вам необходимо еще дописать выставление высот некоторых строк, которых были редактированы.