Kód: Vybrat vše
Sub kopie()
PocetRadku = Sheets("vstup").Range("a1").End(xlDown).Row - 2
Set OblastKop = Range("A3:W20")
radek = 3
For i = 21 To 21 + ((PocetRadku - 1) * 18) Step 18
OblastKop.Copy Range(Cells(i, 1), Cells(i + 18, 23))
Cells(i, 1) = Sheets("vstup").Cells(radek, 2)
Cells(i, 6) = Sheets("vstup").Cells(radek, 5)
Cells(i, 7) = Sheets("vstup").Cells(radek, 6)
radek = radek + 1
Next i
End Sub
Nyní tento kód funguje tak, že na listu vstup spočítá počet řádků a podle výsledku zkopírujte tolikrát na listu plan oblast A3:W20 a do buněk dosadí data z listu vstup.
Nyní jsem na list vstup přidal ještě jeden sloupec "V plánu Ano/Ne" kdy na některých řádcích je hodnota Ano (což znamená že již je nakopírováno na listu plan) a tam kde nic není se musí dokopírovat na list plan, za poslední tabulku (myšleno poslední volný řádek) ve stejné podobě.
Zkoušel jsem do kódu doplnit podmínku:
If Sheets("vstup").Cells(i, 8 ).Value = "" Then
Ale tak snadné to očividně nebude :(