Kopírování používáš v rámci aktivního listu. Tj
Range("A1").Copy Range("B3")
Pokud chceš kopírovat z aktivního listu do jiného listu listu pak použiješ
Range("A1").Copy Worksheet("List2").Range("B3")
Pokud chceš kopírovat z jiného listu listu do aktivního listu pak použiješ
Worksheet("List3").Range("A1").Copy Range("B3")
A pokud otevřeš nový sešit a chceš z něj kopírovat do jiného pak je možné po otevření si nastavit proměnnou a pak s ní pracovat
' Můj sešit
Set A = ActiveWorkbook
' Otevřu jiný
Open...
Set B = ActiveWorkbook
A.Activate
Range("A1").Copy B.Worksheet("List1").Range
B.Close False
atd.
Podstatné je že:
- Aktivní sešit nemusíš uvádět.
- Nemusíš aktivovat příjemce když uvedeš cestu
- Pro lepší čitelnost při kopírování mezi sešity je vhodné nastavit proměnnou typu Workbooks
Pokud se týče kopírování mezi buňkami při větším množství je vhodné použít cyklus foreach
For each C in Worksheet("List3").Range("A1:A10")
C.Copy Worksheet("List3").Range(C.Address)
Next C
Tvůj případ je pak
For i = 1 to 10
Cells(i,1).Copy Worksheet("List3").Cells(i+10,3)
Next i
Ikdyž je na něco Cells vhodné ... převážně používám For Each protože se s tím líp pracuje.
R.
citovat