Tabl cynnwys
Un o'r problemau mwyaf cyffredin rydyn ni'n dod ar ei draws wrth weithio gyda copïo a gludo yn VBA yw'r gwall amser rhedeg 1004 : Methodd PasteSpecial Method of Range Class Class . Yn yr erthygl hon, byddaf yn dangos i chi beth yw'r rhesymau posibl y tu ôl i'r gwall hwn a sut i'w datrys, gydag enghreifftiau a darluniau cywir.
Lawrlwythwch Gweithlyfr Ymarfer
Lawrlwythwch y gweithlyfr ymarfer hwn i wneud ymarfer corff tra byddwch yn darllen yr erthygl hon.
PasteSpecial Method Methwyd.xlsm
PasteSpecial Method of Range Method Methwyd y Dosbarth: Achosion ac Atebion
Heb oedi pellach, gadewch i ni fynd i'n prif drafodaeth. Hynny yw, beth yw'r rhesymau posibl y tu ôl i'r gwall hwn, a sut i'w datrys.
Rheswm 1: Cyrchu PasteSpecial Method heb Gopïo Unrhyw beth
Dyma'r mwyaf rheswm cyffredin y tu ôl i'r gwall. Hynny yw, ceisio cyrchu'r dull PasteSpecial heb gopïo dim.
Er mwyn ei ddeall yn glir, gwiriwch y cod VBA canlynol.
⧭ Cod VBA:
5014
Yma, rydym wedi defnyddio'r dull PasteSpecial o VBA heb yn copïo unrhyw beth. Felly bydd Excel yn dangos gwall amser rhedeg 1004 pan fyddwch yn ei redeg.
⧭ Ateb:
I ddatrys y broblem hon, yn gyntaf, mae angen i chi gopïo ystod o gelloedd ac yna cyrchu'r dull PasteSpecial .
5180
Pan fyddwch yn rhedeg y cod hwn, byddgludwch fformiwlâu'r amrediad B3:B5 o'r daflen waith weithredol i'r ystod a ddewiswyd.
Darllen Mwy: PasteSpecial Method of Worksheet Class Methu (Rhesymau & Atebion)
Rheswm 2: Cyrchu PasteSpecial Method gyda Gwall Sillafu
Dyma reswm cyffredin arall y tu ôl i'r gwall. Hynny yw, i gael mynediad at y dull PasteSpecial gyda gwall(au) sillafu mewn unrhyw arg.
Edrychwch ar y cod VBA canlynol i'w wneud yn glir. Yma rydym wedi gwneud camgymeriad sillafu yn y ddadl xlPasteAll .
⧭ Cod VBA:
2164
Pan fyddwch yn rhedeg y cod hwn, byddwch yn cael y gwall amser rhedeg 1004 .
⧭ Ateb: <3
Mae'r ateb yn hawdd. Rwy’n siŵr eich bod eisoes wedi dyfalu hynny. Gwnewch yn siŵr bod sillafiadau'r holl ddadleuon wedi'u gwneud yn gywir.
A bydd y gwall yn diflannu'n awtomatig.
Darllen Mwy: Sut i Ddefnyddio Gludo Gorchymyn Arbennig yn Excel (5 Ffordd Addas)
Darlleniadau Tebyg
- Excel VBA: Copïo Ystod i Lyfr Gwaith Arall
- Copïo a Gludo Gwerthoedd i'r Rhes Wag Nesaf gydag Excel VBA (3 Enghraifft)
- Cymhwyso VBA PasteSpecial a Chadw Fformatio Ffynhonnell yn Excel
- Sut i Gopïo'r Un Gwerth mewn Celloedd Lluosog yn Excel (4 Dull)
- Excel VBA i Gopïo Rhesi i Daflen Waith Arall yn Seiliedig ar Feini Prawf
Rheswm 3: Agor NewyddLlyfr Gwaith ar ôl Copïo sy'n Canslo'r Modd Copïo/Gludo
Dyma reswm pwysig arall y tu ôl i'r gwall. Hynny yw, gwneud rhywbeth sy'n canslo'r modd copi/gludo cyn ei gludo.
Edrychwch ar y cod canlynol er mwyn deall yn glir.
⧭ Cod VBA:
6457
Yma rydym wedi copïo'r amrediad B3:B5 o Taflen1 llyfr gwaith o'r enw Llyfr Gwaith1 .
Yna rydym wedi creu llyfr gwaith newydd o'r enw Llyfr Gwaith2 yn yr un ffolder ac wedi ceisio gludo'r ystod a gopïwyd i'r ystod B3:B5 o Taflen1 o'r llyfr gwaith hwnnw.
Ond pan fyddwn yn rhedeg y cod, bydd yn dangos Gwall PasteSpecial Method of Range Range Class Methwyd , oherwydd yr eiliad y byddwn yn creu'r llyfr gwaith newydd, y <1 Bydd modd copïo/gludo yn cael ei ganslo.
⧭ Ateb:
I ddatrys y broblem hon, yn gyntaf, ysgrifennwch i lawr y llinellau cod i greu'r llyfr gwaith newydd o'r enw Llyfr Gwaith2 .
Yna mewnosodwch y llinellau i actifadu Llyfr Gwaith1 a chopïwch yr amrediad dymunol ohono.
Ac yn olaf, actifadwch Llyfr Gwaith2 a gludwch yr ystod a gopïwyd yno.
9787
Rhedwch y cod hwn. Bydd yn copïo'r ystod B3:B5 o Taflen1 o Llyfr Gwaith1.
A'i gludo i mewn i Taflen1 o'r llyfr gwaith newydd ei greu o'r enw Llyfr Gwaith2 .
⧭ Rhagofal:
Yn amlwg, peidiwch ag anghofio cadw Llyfr Gwaith1 ar agor wrth redeg ycod.
Darllen Mwy: Sut i Analluogi Copïo a Gludo yn Excel heb Macros (Gyda 2 Feini Prawf)
Rheswm 4: Troi Application.CutCopyMode i Anwir sy'n Canslo'r Modd Copïo/Gludo
Yn olaf, efallai bod rheswm arall i'r gwall ddigwydd. Efallai y byddwn yn diffodd y Modd Cais.CutCopy ar gam cyn cyrchu'r dull PasteSpecial .
Er nad yw'n arfer cyffredin iawn, weithiau rydym yn ei wneud pan fyddwn i gweithio gyda nifer hir o linellau.
Gweler y cod canlynol i'w ddeall yn glir. Yma rydym wedi copïo'r amrediad B3:B5 , ond wedi canslo'r CutCopyMode cyn ei ludo.
⧭ Cod VBA:
4575
Pan fyddwch yn rhedeg y cod, bydd yn dangos y gwall Gludwio Dull Arbennig o Ystod Dosbarth Methwyd .
3>
⧭ Ateb:
Mae'n debyg eich bod chi i gyd wedi dyfalu'r ateb erbyn hyn. Mae'n eithaf syml mewn gwirionedd. Tynnwch y llinell o'r cod sy'n troi'r modd CutCopy i ffwrdd.
Felly, y cod VBA cywir fydd:
2316
<24
Bydd yn copïo'r amrediad B3:B5 a'i gludo dros y D3:D5 heb unrhyw drafferth.
Darllen Mwy: VBA Gludo Arbennig i Gopïo Gwerthoedd a Fformatau yn Excel (9 Enghreifftiau)
Pethau i'w Cofio
Yma rwyf wedi dangos dim ond y trafferthion y gallech ddod ar eu traws wrth weithio gyda'r dull PasteSpecial yn VBA. Os ydycheisiau gwybod y dull PasteSpecial yn fanwl, ewch i y ddolen hon .
Casgliad
Felly, yn fyr, y rhain yw'r rhesymau a all achosi'r gwall amser rhedeg 1004: Methodd PasteSpecial Method o Ystod Dosbarth yn eich cod. Rwy’n gobeithio eich bod wedi deall yr holl bwyntiau’n glir ac y bydd y rheini o gymorth mawr i chi yn y dyfodol. Ydych chi'n gwybod unrhyw resymau eraill? Ac a oes gennych unrhyw broblemau? Mae croeso i chi ofyn i ni. A pheidiwch ag anghofio ymweld â'n gwefan ExcelWIKI am ragor o bostiadau a diweddariadau.