tak jsem vytvořil něco takového (ještě jen hodím na začátek příkaz na smazání příslušných bunek a funguje to):
For i = 1 To 6
If Cells(4 + i, 1) Mod 1000 = 0 Then
u = Cells(4 + i, 1) / 1000
Sheets(4 + 2 * u).Cells(12, 4) = Sheets("seznamsmluv").Cells(4 + i, 13)
Sheets(4 + 2 * u).Cells(12, 5) = Sheets("seznamsmluv").Cells(4 + i, 9)
Else
u = (Cells(4 + i, 1) - Cells(4 + i, 1) Mod 1000) / 1000
'tohle souvisí jakoby s poctem dětí
For j = 1 To 10
If IsEmpty(Sheets(5 + 2 * u).Cells(1 + j, 1)) Then
'udaj1
Sheets(5 + 2 * u).Cells(1 + j, 1) = Sheets("seznamsmluv").Cells(4 + i, 1)
'udaj2
Sheets(5 + 2 * u).Cells(1 + j, 2) = Sheets("seznamsmluv").Cells(4 + i, 6)
'udaj3
Sheets(5 + 2 * u).Cells(1 + j, 3) = Sheets("seznamsmluv").Cells(4 + i, 5)
Exit For
Else
End If
Next
End If
Next
kdyby Vás napadla nějaká optimalizace, tak sem s ní(stačí myšlenka, já už to nějak implementuju), protože těch "i" cyklů bude k dobré stovce a v každém cyklu bude pro "i" kopírováno tak 10 zákl. info, těch dodatečných taky klidně až k deseti. :)citovat