Greš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 sa kopiranjem i lijepljenjem u VBA je greška u vremenu izvođenja 1004 : PasteSpecial Method of Range Class Failed . U ovom članku ću vam pokazati koji su mogući razlozi iza ove greške i kako ih riješiti, uz odgovarajuće primjere i ilustracije.

Preuzmite Vježbenicu

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

PasteSpecial Method Failed.xlsm

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

Bez daljeg odlaganja, idemo na našu glavnu diskusiju. Odnosno, koji mogu biti mogući razlozi iza ove greške i kako ih riješiti.

Razlog 1: Pristup PasteSpecial metodi bez kopiranja bilo čega

Ovo je najviše uobičajeni razlog za grešku. To jest, pokušavate pristupiti metodi PasteSpecial bez kopiranja bilo čega.

Da biste je jasno razumjeli, provjerite sljedeći VBA kod.

⧭ VBA kod:

1469

Ovdje smo koristili PasteSpecial metodu VBA bez kopiranje bilo čega. Dakle, Excel će prikazati grešku u vremenu izvođenja 1004 kada ga pokrenete.

⧭ Rješenje:

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

4343

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 sa pravopisnom greškom

Ovo je još jedan uobičajeni razlog za greška. Odnosno, da pristupite metodi PasteSpecial sa pravopisnom(ih) greškom(ima) u bilo kojem argumentu.

Pogledajte sljedeći VBA kod da vam bude jasno. Ovdje smo napravili pravopisnu grešku u argumentu xlPasteAll .

⧭ VBA kod:

2504

Kada pokrenete ovaj kod, dobit ćete grešku vremena izvođenja 1004 .

⧭ Rješenje:

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

I greška će automatski nestati.

Pročitajte više: Kako koristiti Paste Posebna naredba u Excelu (5 odgovarajućih načina)

Slična očitanja

  • Excel VBA: Kopiraj raspon u drugu radnu knjigu
  • Kopiraj i zalijepi vrijednosti u sljedeći prazan red s Excel VBA (3 primjera)
  • Primijeni VBA PasteSpecial i zadrži izvorno formatiranje u Excelu
  • Kako kopirati istu vrijednost u više ćelija u Excelu (4 metode)
  • Excel VBA za kopiranje redova na drugi radni list na osnovu kriterija

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

Ovo je još jedan važan razlog iza greške. To jest, da uradite nešto što poništava režim kopiranja/lepljenja pre lepljenja.

Pogledajte sledeći kod da biste bolje razumeli.

⧭ VBA kod:

4201

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

Zatim smo kreirali novu radnu knjigu pod nazivom Radna knjiga2 u istom folderu i pokušali zalijepiti kopirani raspon u raspon B3:B5 od Sheet1 te radne knjige.

Ali kada pokrenemo kod, prikazat će grešku PasteSpecial Method of Range Class Failed , jer u trenutku kada kreiramo novu radnu knjigu, način kopiranja/lijepljenja će biti otkazan.

⧭ Rješenje:

Da biste riješili ovaj problem, prvo napišite niz redove koda da kreirate novu radnu svesku pod nazivom Radna sveska2 .

Zatim umetnite redove da aktivirate Radna sveska1 i kopirajte željeni opseg iz nje.

I na kraju, aktivirajte Radna knjiga2 i zalijepite kopirani raspon tamo.

7218

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

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

⧭ Mjera opreza:

Očigledno, ne zaboravite držati Workbook1 otvorenim dok pokrećetecode.

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

4. razlog: Prebacivanje Application.CutCopyMode na False što poništava način rada za kopiranje/lijepljenje

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

Iako to nije uobičajena praksa, ipak ponekad to učinimo kada želimo radite sa velikim brojem linija.

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

⧭ VBA kod:

7722

Kada pokrenete kod, on će pokazati grešku PasteSpecial Method of Range Class Failed .

⧭ Rješenje:

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

Dakle, ispravan VBA kod će biti:

9692

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 prikazao samo probleme na koje možete naići dok radite sa metodom PasteSpecial u VBA. AkoŽelite li detaljnije upoznati metodu PasteSpecial , posjetite ovu vezu .

Zaključak

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

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.