Stránka 1 z 1

Chyba při spuštění makra z jiného listu

Napsal: 25 kvě 2011 13:01
od astary
Ahoj,

mám makro, které mi kopíruje data z listu "Technical" do listu "Data" a pokud makro spouštím na listu "Data", tak to funguje OK. Jakmile mám ale aktivní jiný list, makra vyhodí chybu 1004: Application-defined or object-defined error.

V kódu ale specifikaci Activesheet nikde nemám

Kód: Vybrat vše

Name_T = "c4"
p = 48 'number of rows for each parameter
r = 1 'initial row with header
cProduct = 1           'column for product name

Sheets("Technical").range(Name_T).copy
Sheets("Data").range(Cells(Cells(r, cProduct).End(xlDown).Row + 1, cProduct), Cells(Cells(r, cProduct).End(xlDown).Row + p, cProduct)) _
.PasteSpecial Paste:=xlPasteValues, Transpose:=True



Na druhém řádku procedury se makro sekne a vypíše chybu.

Nevíte, kde je problém? Myslel jsem, že když mám u buňky s hodnotu i u cílové buňky pro nakopírování hodnoty uvedené názvy listů, tak to půjde spustit z jakéhokoliv listu.
Btw: Ta cílová buňka na listu "Data" je určená "dynamicky" podle posledního záznamu v daném sloupci.
Předem díky za pomoc.

Re: Chyba při spuštění makra z jiného listu  Vyřešeno

Napsal: 25 kvě 2011 13:31
od Poki
Asi jde o to, ze nelze kopirovat hodnoty prikazem .Copy z listu, ktery neni aktivni, navrhoval bych tedy pred tento prikaz doplnit:

Kód: Vybrat vše

Sheets("Technical").Activate

Re: Chyba při spuštění makra z jiného listu

Napsal: 25 kvě 2011 13:58
od astary
Zajímavé. U listu "Technical" aktivace nepomohla, ale zkusil jsem to doplnit před kopírování na list "Data" a funguje to. V celé proceduře kopírování opakuju několikrát, ale tu aktivaci stačilo dát jen k prvnímu kopírování (1. cyklus) a ostatní kopírování (cykly) už fungují správně.
Nechápu proč, ale funguje to :lol: Díky moc.