Բովանդակություն
Ամենատարածված խնդիրներից մեկը, որին մենք հանդիպում ենք VBA-ում պատճենելու և տեղադրելու ժամանակ -ում գործարկման ժամանակի սխալ 1004 . PasteSpecial Method of Range Class Failed . Այս հոդվածում ես ձեզ ցույց կտամ, թե որոնք են հնարավոր պատճառները այս սխալի հետևում և ինչպես լուծել դրանք՝ համապատասխան օրինակներով և նկարազարդումներով:
Ներբեռնեք պրակտիկայի աշխատանքային գիրքը
Ներբեռնեք այս պրակտիկայի աշխատանքային գիրքը՝ այս հոդվածը կարդալու ընթացքում վարժություններ կատարելու համար:
PasteSpecial Method Failed.xlsm
PasteSpecial Method of Range Class Failed. եւ լուծումներ
Առանց հետագա ուշացման, անցնենք մեր հիմնական քննարկմանը։ Այսինքն՝ որոնք կարող են լինել այս սխալի հետևում եղած հնարավոր պատճառները և ինչպես լուծել դրանք:
Պատճառ 1. PasteSpecial մեթոդ մուտք գործել առանց որևէ բան պատճենելու
Սա առավելագույնն է Սխալի հետևում գտնվող ընդհանուր պատճառ. Այսինքն՝ փորձելով մուտք գործել PasteSpecial մեթոդ՝ առանց որևէ բան պատճենելու։
Այն հստակ հասկանալու համար ստուգեք հետևյալ VBA կոդը։
⧭ VBA կոդ՝
4676
Այստեղ մենք օգտագործել ենք PasteSpecial մեթոդը VBA առանց ցանկացած բան պատճենելը. Այսպիսով, Excel-ը կցուցադրի գործարկման ժամանակի սխալ 1004 այն գործարկելիս:
⧭ Լուծում.
Այս խնդիրը լուծելու համար նախ պետք է պատճենեք մի շարք բջիջներ, ապա մուտք գործեք PasteSpecial մեթոդը:
7560
Երբ գործարկեք այս կոդը, դա կլինիտեղադրեք ակտիվ աշխատաթերթի B3:B5 տիրույթի բանաձևերը ընտրված տիրույթում:
Կարդալ ավելին` PasteSpecial Worksheet-ի դասի մեթոդը ձախողվեց (պատճառներ և լուծումներ)
Պատճառ 2. մուտք գործել PasteSpecial մեթոդ ուղղագրական սխալով
Սա ևս մեկ ընդհանուր պատճառ է սխալ. Այսինքն՝ ցանկացած արգումենտում ուղղագրական սխալ(ներ) ունեցող PasteSpecial մեթոդին մուտք գործելու համար:
Նայեք հետևյալ VBA կոդը` պարզ դարձնելու համար: Այստեղ մենք ուղղագրական սխալ ենք թույլ տվել արգումենտում xlPasteAll :
⧭ VBA կոդը՝
7687
Երբ գործարկեք այս կոդը, դուք կստանաք գործարկման ժամանակի սխալ 1004 :
⧭ Լուծում.
Լուծումը հեշտ է։ Համոզված եմ, որ դուք արդեն գուշակել եք դա: Պարզապես համոզվեք, որ բոլոր փաստարկների ուղղագրությունները ճիշտ են կազմված:
Եվ սխալն ինքնաբերաբար կվերանա:
Կարդալ ավելին. Ինչպես օգտագործել Paste Հատուկ հրաման Excel-ում (5 հարմար եղանակ)
Նման ընթերցումներ
- Excel VBA. Պատճենել միջակայքը մեկ այլ աշխատանքային գրքում
- Պատճենեք և տեղադրեք արժեքները հաջորդ դատարկ տողում Excel VBA-ով (3 օրինակ)
- Կիրառեք VBA PasteSpecial և պահպանեք աղբյուրի ձևաչափումը Excel-ում
- Ինչպես պատճենել նույն արժեքը բազմաթիվ բջիջներում Excel-ում (4 մեթոդ)
- Excel VBA՝ չափանիշների հիման վրա տողերը մեկ այլ աշխատաթերթում պատճենելու համար
Պատճառ 3. Նորի բացումԱշխատանքային գրքույկ Պատճենելուց հետո, որը չեղարկում է պատճենահանման/տեղադրման ռեժիմը
Սա սխալի ևս մեկ կարևոր պատճառ է: Այսինքն՝ անել մի բան, որը կչեղարկի պատճենահանման/տեղադրման ռեժիմը նախքան տեղադրումը:
Նայեք հետևյալ կոդը՝ հստակ հասկանալու համար:
⧭ VBA կոդը՝
9418
Այստեղ մենք պատճենել ենք B3:B5 միջակայքը Թերթ1 աշխատանքային գրքույկի Աշխատանքային գիրք1 :
Այնուհետև մենք ստեղծեցինք նոր աշխատանքային գիրք, որը կոչվում է Workbook2 նույն թղթապանակում և փորձեցինք տեղադրել պատճենված միջակայքը B3:B5 Sheet1<միջակայքում: 2> այդ աշխատանքային գրքույկի:
Բայց երբ գործարկենք կոդը, այն կցուցադրի PasteSpecial Method of Range Class Failed Սխալ, քանի որ այն պահին, երբ մենք ստեղծում ենք նոր աշխատանքային գիրքը, պատճենել/տեղադրել ռեժիմը կչեղարկվի:
⧭ Լուծում.
Այս խնդիրը լուծելու համար նախ գրեք ներքև կոդի տողերով՝ ստեղծելու նոր աշխատանքային գիրք, որը կոչվում է Workbook2 :
Այնուհետև տեղադրեք տողերը՝ ակտիվացնելու համար Workbook1 և պատճենեք ցանկալի տիրույթը դրանից:
0>Եվ վերջապես ակտիվացրեք Workbook2 և տեղադրեք պատճենված տիրույթը այնտեղ:
6529
Գործարկեք այս կոդը: Այն պատճենելու է B3:B5 միջակայքը Աշխատանքային գրքույկի Թերթ1 -ից:
Եվ կպցրեք այն: նորաստեղծ աշխատանքային գրքի Թերթ1 , որը կոչվում է Աշխատանքային տետր2 :
⧭ Նախազգուշական միջոց.
Ակնհայտ է, որ մի մոռացեք բաց պահել Աշխատանքային գիրքը1 ՝ գործարկելիսկոդը:
Կարդալ ավելին. Ինչպես անջատել պատճենումը և տեղադրումը Excel-ում առանց մակրոների (2 չափանիշով)
Պատճառ 4: Application.CutCopyMode-ի վերածում False-ի, որը չեղարկում է պատճենահանման/տեղադրման ռեժիմը
Վերջապես, սխալի առաջացման մեկ այլ պատճառ կարող է լինել: Մենք կարող ենք սխալմամբ անջատել Application.CutCopyMode նախքան PasteSpecial մեթոդը մուտք գործելը:
Չնայած դա այնքան էլ տարածված պրակտիկա չէ, այնուամենայնիվ երբեմն մենք դա անում ենք, երբ պատրաստվում ենք աշխատեք երկար թվով տողերի հետ:
Այն հստակ հասկանալու համար տես հետևյալ կոդը: Այստեղ մենք պատճենել ենք B3:B5 տիրույթը, սակայն չեղարկել ենք CutCopyMode նախքան այն տեղադրելը:
⧭ VBA կոդը՝
4723
Երբ գործարկեք կոդը, այն ցույց կտա PasteSpecial Method of Range Class Failed սխալը:
⧭ Լուծում.
Կարծում եմ, որ դուք բոլորդ արդեն գուշակել եք լուծումը: Դա բավականին պարզ է իրականում. Պարզապես հեռացրեք կոդից այն տողը, որն անջատում է CutCopy ռեժիմը:
Այսպիսով, ճիշտ VBA կոդը կլինի.
9340
Այն առանց դժվարության կպատճենի B3:B5 միջակայքը և կտեղադրի այն D3:D5 -ի վրա:
Կարդալ ավելին. VBA Paste հատուկ Excel-ում արժեքներն ու ձևաչափերը պատճենելու համար (9 օրինակ)
Հիշելու բաներ
Այստեղ ես ցույց տվեցի միայն այն դժվարությունները, որոնց կարող եք հանդիպել PasteSpecial մեթոդի հետ աշխատելիս VBA-ում: Եթե դուքցանկանում եք մանրամասնորեն իմանալ PasteSpecial մեթոդը, այցելեք այս հղումը :
Եզրակացություն
Այսպիսով, կարճ ասած, սրանք այն պատճառներն են, որոնք կարող են առաջացնել ձեր կոդի գործարկման ժամանակի սխալ 1004. PasteSpecial Method od Range Class Failed : Հուսով եմ, որ դուք հստակ հասկացաք բոլոր կետերը, և դրանք ձեզ շատ կօգնեն ապագայում: Դուք այլ պատճառներ գիտե՞ք: Իսկ դուք խնդիրներ ունե՞ք։ Ազատորեն հարցրեք մեզ: Եվ մի մոռացեք այցելել մեր կայք ExcelWIKI ավելի շատ գրառումների և թարմացումների համար: