Ynhâldsopjefte
Ien fan 'e meast foarkommende problemen dy't wy tsjinkomme by it wurkjen mei kopiearje en plakke yn VBA is de runtiidflater 1004 : PasteSpecial Method of Range Class Failed . Yn dit artikel sil ik jo sjen litte wat de mooglike redenen efter dizze flater sitte en hoe't jo dy kinne oplosse, mei goede foarbylden en yllustraasjes.
Download Practice Workbook
Download dit oefenwurkboek om te oefenjen wylst jo dit artikel lêze.
PasteSpecial Method Failed.xlsm
PasteSpecial Method of Range Class Failed: Causes en Solutions
Sûnder fierdere fertraging, litte wy nei ús haaddiskusje gean. Dat is, wat kinne de mooglike redenen efter dizze flater wêze, en hoe't jo dy oplosse kinne.
Reden 1: Tagong ta PasteSpecial-metoade sûnder wat te kopiearjen
Dit is it meast mienskiplike reden efter de flater. Dat is, besykje tagong te krijen ta de metoade PasteSpecial sûnder wat te kopiearjen.
Om it dúdlik te begripen, kontrolearje de folgjende VBA koade.
⧭ VBA Code:
5071
Hjir hawwe wy de PasteSpecial metoade fan VBA brûkt sûnder kopiearje neat. Dus Excel sil in run-time flater 1004 werjaan as jo it útfiere.
⧭ Solution:
Om dit probleem op te lossen, moatte jo earst in berik fan sellen kopiearje en dan tagong krije ta de PasteSpecial metoade.
5237
As jo dizze koade útfiere, it silplak de formules fan it berik B3:B5 fan it aktive wurkblêd yn it selektearre berik.
Lês mear: PasteSpecial-metoade fan wurkblêdklasse mislearre (redenen en oplossingen)
Reden 2: Tagong ta PasteSpecial-metoade mei staveringsflater
Dit is in oare mienskiplike reden efter de fersin. Dat is, om tagong te krijen ta de PasteSpecial metoade mei staveringsflater(s) yn elk argumint.
Sjoch nei de folgjende VBA -koade om it dúdlik te meitsjen. Hjir hawwe wy in staveringsflater makke yn it argumint xlPasteAll .
⧭ VBA Code:
1388
As jo dizze koade útfiere, krije jo de run-time flater 1004 .
⧭ Solution:
De oplossing is maklik. Ik bin der wis fan dat jo al riede dat. Soargje der mar foar dat de staveringen fan alle arguminten goed makke binne.
En de flater sil automatysk ferdwine.
Lês Mear: How to Use Paste Spesjaal kommando yn Excel (5 geskikte manieren)
Gelykbere lêzings
- Excel VBA: berik nei in oar wurkboek kopiearje
- Kopiearje en plakke wearden nei folgjende lege rige mei Excel VBA (3 foarbylden)
- VBA PasteSpecial tapasse en boarne opmaak hâlde yn Excel
- Hoe kinne jo deselde wearde kopiearje yn meardere sellen yn Excel (4 metoaden)
- Excel VBA om rigen te kopiearjen nei in oar wurkblêd basearre op kritearia
Reden 3: In nij iepenjeWurkboek nei it kopiearjen dat de modus kopiearje/plakke annuleart
Dit is in oare wichtige reden efter de flater. Dat is, om wat te dwaan dat de kopiearje/plakke modus annuleart foardat jo plakke.
Sjoch nei de folgjende koade foar dúdlik begryp.
⧭ VBA Code:
3040
Hjir hawwe wy it berik B3:B5 kopiearre fan it Sheet1 fan in wurkboek mei de namme Wurkbook1 .
Dan hawwe wy in nij wurkboek makke mei de namme Wurkbook2 yn deselde map en besocht it kopiearre berik te plakjen yn it berik B3:B5 fan Sheet1 fan dat wurkboek.
Mar as wy de koade útfiere, sil it in PasteSpecial Method of Range Class Failed flater werjaan, om't it momint dat wy it nije wurkboek meitsje, de kopy-/plakmodus sil annulearre wurde.
⧭ Oplossing:
Om dit probleem op te lossen, skriuw earst de rigels koade del om it nije wurkboek te meitsjen mei de namme Wurkbook2 .
Foegje dan de rigels yn om Wurkbook1 te aktivearjen en kopiearje it winske berik derút.
En as lêste, aktivearje Wurkbook2 en plak it kopiearre berik dêr.
8690
Dizze koade útfiere. It sil it berik B3:B5 kopiearje fan Sheet1 fan Wurkbook1.
En plakke it yn Sheet1 fan it nij oanmakke wurkboek mei de namme Werkbook2 .
⧭ Foarsoarch:
Fansels, ferjit net Wurkbook1 iepen te hâlden by it útfieren fan dekoade.
Lês mear: Hoe kinne jo kopiearje en plakke yn Excel útskeakelje sûnder makro's (mei 2 kritearia)
Reden 4: Applikaasje.CutCopyMode nei False draaie dy't de Kopiearje/Plakke-modus annuleart
Uteinlik kin der in oare reden wêze foar de flater. Wy kinne de Application.CutCopyMode miskien útskeakelje foardat jo tagong krije ta de PasteSpecial -metoade.
Hoewol it net in heul gewoane praktyk is, meitsje wy it dochs soms as wy moatte wurkje mei in lang oantal rigels.
Sjoch de folgjende koade om it dúdlik te begripen. Hjir hawwe wy it berik B3:B5 kopiearre, mar de CutCopyMode annulearre foardat it plakke.
⧭ VBA Code:
9210
As jo de koade útfiere, sil it de PasteSpecial Method of Range Class Failed flater sjen litte.
⧭ Oplossing:
Ik tink dat jo no allegear de oplossing rieden hawwe. It is frij simpel eins. Ferwiderje gewoan de rigel fan 'e koade dy't de CutCopy -modus útskeakelt.
Dus, de juste VBA -koade sil wêze:
9280
It sil it berik B3:B5 kopiearje en oer de D3:D5 plakke sûnder problemen.
Lês mear: VBA Paste Special om wearden en formaten te kopiearjen yn Excel (9 foarbylden)
Dingen om te ûnthâlden
Hjir haw ik allinich de problemen sjen litten dy't jo kinne tsjinkomme by it wurkjen mei de PasteSpecial metoade yn VBA. As jowolle jo de PasteSpecial metoade yn detail witte, besykje dizze keppeling .
Konklúzje
Dus, koartsein, dizze binne de redenen dy't de run-time flater 1004 kinne feroarsaakje: PasteSpecial Method od Range Class Failed yn jo koade. Ik hoopje dat jo alle punten dúdlik hawwe begrepen en dy sille jo in protte helpe yn 'e takomst. Witte jo oare redenen? En hawwe jo problemen? Freegje it ús frij. En ferjit net om ús side ExcelWIKI te besykjen foar mear berjochten en updates.