Pogreška vremena izvođenja 1004: PasteSpecial Metoda klase raspona nije uspjela

  • Podijeli Ovo
Hugh West

Jedan od najčešćih problema s kojima se susrećemo dok radimo s kopiranjem i lijepljenjem u VBA je pogreška vremena izvođenja 1004 : PasteSpecial Method of Range Class Failed . U ovom ću vam članku pokazati koji su mogući razlozi iza ove pogreške i kako ih riješiti, s odgovarajućim primjerima i ilustracijama.

Preuzmite vježbenicu

Preuzmite ovu radnu bilježnicu za vježbanje dok čitate ovaj članak.

PasteSpecial Method Failed.xlsm

PasteSpecial Method of Range Class Failed: Uzroci i rješenja

Bez daljnjeg odlaganja, prijeđimo na našu glavnu raspravu. Odnosno, koji mogu biti mogući razlozi ove pogreške i kako ih riješiti.

Razlog 1: Pristup PasteSpecial metodi bez kopiranja bilo čega

Ovo je najviše uobičajeni razlog iza pogreške. Odnosno, pokušavate pristupiti metodi PasteSpecial bez kopiranja bilo čega.

Kako biste to jasno razumjeli, provjerite sljedeći VBA kod.

⧭ VBA kod:

8859

Ovdje smo upotrijebili metodu PasteSpecial od VBA bez kopiranje bilo čega. Excel će prikazati pogrešku 1004 kada ga pokrenete.

⧭ Rješenje:

Da biste riješili ovaj problem, prvo morate kopirati niz ćelija, a zatim pristupiti metodi PasteSpecial .

9360

Kada pokrenete ovaj kod, to ćezalijepite formule raspona B3:B5 aktivnog radnog lista u odabrani raspon.

Pročitajte više: PasteSpecial metoda klase radnog lista nije uspjela (Razlozi i rješenja)

Razlog 2: Pristup PasteSpecial metodi s pravopisnom pogreškom

Ovo je još jedan uobičajeni razlog iza greška. Odnosno, za pristup metodi PasteSpecial s pravopisnom pogreškom(ama) u bilo kojem argumentu.

Pogledajte sljedeći VBA kod da bude jasniji. Ovdje smo napravili pravopisnu pogrešku u argumentu xlPasteAll .

⧭ VBA kod:

3102

Kada pokrenete ovaj kôd, dobit ćete pogrešku vremena izvođenja 1004 .

⧭ Rješenje:

Rješenje je jednostavno. Sigurna sam da ste to već pogodili. Samo provjerite jesu li svi argumenti ispravno napisani.

I pogreška će automatski nestati.

Pročitajte više: Kako koristiti Zalijepi Posebna naredba u Excelu (5 prikladnih načina)

Slična čitanja

  • Excel VBA: Kopiraj raspon u drugu radnu knjigu
  • Kopirajte i zalijepite vrijednosti u sljedeći prazan red pomoću Excel VBA (3 primjera)
  • Primijenite VBA PasteSpecial i zadržite izvorno oblikovanje u Excelu
  • Kako kopirati istu vrijednost u više ćelija u programu Excel (4 metode)
  • Excel VBA za kopiranje redaka na drugi radni list na temelju kriterija

Razlog 3: Otvaranje novogRadna knjiga nakon kopiranja koja poništava način kopiranja/lijepljenja

Ovo je još jedan važan razlog pogreške. Odnosno, učiniti nešto što poništava način kopiranja/lijepljenja prije lijepljenja.

Pogledajte sljedeći kod za jasno razumijevanje.

⧭ VBA kod:

4332

Ovdje smo kopirali raspon B3:B5 iz Sheet1 radne knjige pod nazivom Workbook1 .

Zatim smo stvorili novu radnu knjigu pod nazivom Workbook2 u istoj mapi i pokušali zalijepiti kopirani raspon u raspon B3:B5 Sheet1 te radne knjige.

Ali kada pokrenemo kod, on će prikazati PasteSpecial Method of Range Class Failed Error, jer u trenutku kada stvorimo novu radnu knjigu, copy/paste mode bit će otkazan.

⧭ Rješenje:

Da biste riješili ovaj problem, prvo napišite niz retke koda za stvaranje nove radne knjige pod nazivom Workbook2 .

Zatim umetnite retke za aktiviranje Workbook1 i kopirajte željeni raspon iz nje.

I na kraju, aktivirajte Radnu knjigu2 i tamo zalijepite kopirani raspon.

2541

Pokrenite ovaj kod. Kopirat će raspon B3:B5 iz Sheet1 Workbook1.

I zalijepiti ga u Sheet1 novostvorene radne knjige pod nazivom Workbook2 .

⧭ Mjera opreza:

Očito, ne zaboravite držati otvorenu Workbook1 dok izvoditekod.

Pročitajte više: Kako onemogućiti kopiranje i lijepljenje u Excelu bez makronaredbi (s 2 kriterija)

Razlog 4: Okretanje Application.CutCopyMode na False čime se poništava način kopiranja/lijepljenja

Konačno, možda postoji još jedan razlog za pojavu pogreške. Možemo greškom isključiti Application.CutCopyMode prije nego što pristupimo metodi PasteSpecial .

Iako to nije baš uobičajena praksa, ipak ponekad to napravimo kada želimo raditi s velikim brojem redaka.

Pogledajte sljedeći kod za jasno razumijevanje. Ovdje smo kopirali raspon B3:B5 , ali smo otkazali CutCopyMode prije nego što smo ga zalijepili.

⧭ VBA kod:

8383

Kada pokrenete kôd, prikazat će se pogreška PasteSpecial Method of Range Class Failed .

⧭ Rješenje:

Pretpostavljam da ste do sada već svi pogodili rješenje. Zapravo je prilično jednostavno. Samo uklonite redak iz koda koji isključuje način CutCopy .

Dakle, ispravan VBA kod će biti:

7931

Kopirat će raspon B3:B5 i zalijepiti ga preko D3:D5 bez ikakvih problema.

Pročitajte više: VBA Paste Special za kopiranje vrijednosti i formata u Excel (9 primjera)

Stvari koje treba zapamtiti

Ovdje sam pokazao samo probleme na koje možete naići tijekom rada s metodom PasteSpecial u VBA. Akoželite detaljno upoznati metodu PasteSpecial , posjetite ovu vezu .

Zaključak

Dakle, ukratko, ovi su razlozi koji mogu uzrokovati pogrešku vremena izvođenja 1004: PasteSpecial Method od Range Class Failed u vašem kodu. Nadam se da ste jasno razumjeli sve točke i da će vam one puno pomoći u budućnosti. Znate li još neke razloge? A imate li kakvih problema? Slobodno nas pitajte. I ne zaboravite posjetiti našu stranicu ExcelWIKI za više postova i ažuriranja.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.