Gabim në kohën e ekzekutimit 1004: Metoda e ngjitjes speciale e klasës së intervalit dështoi

  • Shperndaje Kete
Hugh West

Një nga problemet më të zakonshme që hasim gjatë punës me kopjimin dhe ngjitjen në VBA është gabimi i kohës së ekzekutimit 1004 : PasteSpecial Method of Range Class Failed . Në këtë artikull, unë do t'ju tregoj se cilat janë arsyet e mundshme pas këtij gabimi dhe si t'i zgjidhni ato, me shembuj dhe ilustrime të duhura.

Shkarko librin e punës praktike

Shkarkoni këtë libër pune praktike për të ushtruar ndërkohë që jeni duke lexuar këtë artikull.

Metoda PasteSpecial Failed.xlsm

PasteSpecial Method of Range Class Failed: Shkaqet dhe Zgjidhjet

Pa vonesë të mëtejshme, le të kalojmë në diskutimin tonë kryesor. Kjo do të thotë, cilat mund të jenë arsyet e mundshme pas këtij gabimi dhe si t'i zgjidhni ato.

Arsyeja 1: Qasja në metodën PasteSpecial pa kopjuar asgjë

Kjo është më e Arsyeja e zakonshme pas gabimit. Kjo do të thotë, duke u përpjekur të hyni në metodën PasteSpecial pa kopjuar asgjë.

Për ta kuptuar qartë, kontrolloni kodin e mëposhtëm VBA .

⧭ Kodi VBA:

6073

Këtu, ne kemi përdorur metodën PasteSpecial VBA pa duke kopjuar ndonjë gjë. Kështu që Excel do të shfaqë një gabim në kohën e ekzekutimit 1004 kur ta ekzekutoni.

⧭ Zgjidhja:

Për të zgjidhur këtë problem, së pari, duhet të kopjoni një sërë qelizash dhe më pas të përdorni metodën PasteSpecial .

1944

Kur të ekzekutoni këtë kod, dongjitni formulat e diapazonit B3:B5 të fletës aktive të punës në intervalin e zgjedhur.

Lexo më shumë: Metoda PasteSpecial e klasës së fletës së punës dështoi (Arsyet dhe zgjidhjet)

Arsyeja 2: Qasja në metodën PasteSpecial me gabim drejtshkrimor

Kjo është një tjetër arsye e zakonshme prapa gabim. Kjo do të thotë, për të hyrë në metodën PasteSpecial me gabime drejtshkrimore në çdo argument.

Shiko kodin e mëposhtëm VBA për ta bërë të qartë. Këtu kemi bërë një gabim drejtshkrimor në argumentin xlPasteAll .

⧭ Kodi VBA:

7648

Kur të ekzekutoni këtë kod, do të merrni gabimin e kohës së ekzekutimit 1004 .

⧭ Zgjidhja:

Zgjidhja është e lehtë. Jam i sigurt që tashmë e keni marrë me mend këtë. Vetëm sigurohuni që drejtshkrimi i të gjitha argumenteve të jenë bërë saktë.

Dhe gabimi do të zhduket automatikisht.

Lexo më shumë: Si të përdoret ngjitja Komanda speciale në Excel (5 mënyra të përshtatshme)

Lexime të ngjashme

  • Excel VBA: Kopjo gamë në një libër tjetër pune
  • Kopjo dhe ngjit vlerat në rreshtin tjetër bosh me Excel VBA (3 shembuj)
  • Apliko VBA PasteSpecial dhe mbaj formatimin e burimit në Excel
  • Si të kopjoni të njëjtën vlerë në qeliza të shumta në Excel (4 metoda)
  • Excel VBA për të kopjuar rreshtat në një fletë tjetër pune bazuar në kritere

Arsyeja 3: Hapja e një të rejeLibri i punës pas kopjimit që anulon modalitetin e kopjimit/ngjitjes

Kjo është një tjetër arsye e rëndësishme pas gabimit. Kjo do të thotë, të bëni diçka që anulon modalitetin e kopjimit/ngjitjes përpara se të ngjitni.

Shikoni kodin e mëposhtëm për ta kuptuar qartë.

⧭ Kodi VBA:

3533

Këtu kemi kopjuar diapazonin B3:B5 nga Fleta1 e një libri pune të quajtur Libri i punës1 .

Më pas ne kemi krijuar një libër të ri pune të quajtur Workbook2 në të njëjtën dosje dhe u përpoqëm të ngjisnim gamën e kopjuar në intervalin B3:B5 Fletës1 të atij libri pune.

Por kur të ekzekutojmë kodin, ai do të shfaqë një gabim PasteSpecial Method of Range Class Failed , sepse në momentin që krijojmë librin e ri të punës, modaliteti i kopjimit/ngjitjes do të anulohet.

⧭ Zgjidhja:

Për të zgjidhur këtë problem, fillimisht shkruani poshtë rreshtave të kodit për të krijuar librin e ri të punës të quajtur Libri i punës2 .

Më pas futni rreshtat për të aktivizuar Libri i punës1 dhe kopjoni gamën e dëshiruar prej tij.

0>Dhe së fundi, aktivizoni Workbook2 dhe ngjisni atje gamën e kopjuar.

5962

Ekzekutoni këtë kod. Do të kopjojë gamën B3:B5 nga Fleta1 e Libri i punës1.

Dhe ngjit në Fleta1 e librit të punës të krijuar rishtazi të quajtur Libri i punës2 .

⧭ Masa paraprake:

Natyrisht, mos harroni të mbani hapur Librin e punës1 gjatë ekzekutimit tëkodi.

Lexo më shumë: Si të çaktivizohet kopjimi dhe ngjitja në Excel pa makro (me 2 kritere)

Arsyeja 4: Duke e kthyer Application.CutCopyMode në False që anulon modalitetin e kopjimit/ngjitjes

Më në fund, mund të ketë një arsye tjetër për të ndodhur gabimi. Mund ta çaktivizojmë gabimisht Application.CutCopyMode përpara se të qasemi në metodën PasteSpecial .

Megjithëse nuk është një praktikë shumë e zakonshme, megjithatë ndonjëherë ne e bëjmë atë kur duhet të punoni me një numër të gjatë rreshtash.

Shihni kodin e mëposhtëm për ta kuptuar qartë. Këtu kemi kopjuar intervalin B3:B5 , por kemi anuluar CutCopyMode përpara se ta ngjitim.

⧭ Kodi VBA:

7707

Kur do të ekzekutoni kodin, ai do të shfaqë gabimin PasteSpecial Method of Range Class Failed .

⧭ Zgjidhja:

Unë mendoj se deri tani të gjithë e keni marrë me mend zgjidhjen. Është mjaft e thjeshtë në fakt. Thjesht hiqni rreshtin nga kodi që çaktivizon modalitetin CutCopy .

Pra, kodi i saktë VBA do të jetë:

5603

Do të kopjojë gamën B3:B5 dhe do ta ngjisë mbi D3:D5 pa asnjë problem.

Lexo më shumë: VBA Paste Special për të kopjuar vlerat dhe formatet në Excel (9 shembuj)

Gjërat për t'u mbajtur mend

Këtu kam treguar vetëm problemet që mund të hasni gjatë punës me metodën PasteSpecial VBA. Nëse judëshironi të dini metodën PasteSpecial në detaje, vizitoni këtë lidhje .

Përfundim

Pra, me pak fjalë, këto janë arsyet që mund të shkaktojnë gabimin e kohës së ekzekutimit 1004: PasteSpecial Method od Range Class Failed në kodin tuaj. Shpresoj se i keni kuptuar qartë të gjitha pikat dhe ato do t'ju ndihmojnë shumë në të ardhmen. A dini ndonjë arsye tjetër? Dhe a keni ndonjë problem? Mos ngurroni të na pyesni. Dhe mos harroni të vizitoni faqen tonë ExcelWIKI për më shumë postime dhe përditësime.

Hugh West është një trajner dhe analist me përvojë të lartë në Excel me mbi 10 vjet përvojë në industri. Ai ka një diplomë Bachelor në Kontabilitet dhe Financë dhe një Master në Administrim Biznesi. Hugh ka një pasion për mësimdhënien dhe ka zhvilluar një qasje unike të mësimdhënies që është e lehtë për t'u ndjekur dhe kuptuar. Njohuritë e tij eksperte të Excel-it kanë ndihmuar mijëra studentë dhe profesionistë në mbarë botën të përmirësojnë aftësitë e tyre dhe të shkëlqejnë në karrierën e tyre. Nëpërmjet blogut të tij, Hugh ndan njohuritë e tij me botën, duke ofruar mësime falas në Excel dhe trajnime në internet për të ndihmuar individët dhe bizneset të arrijnë potencialin e tyre të plotë.