Грешка во времето на извршување 1004: Вметни специјален метод на класа на опсег не успеа

  • Споделете Го Ова
Hugh West

Еден од најчестите проблеми со кои се среќаваме додека работиме со копирање и вметнување во VBA е грешката за време на извршување 1004 : PasteSpecial Method of Range Class Failed . Во оваа статија, ќе ви покажам кои се можните причини зад оваа грешка и како да ги решите, со соодветни примери и илустрации.

Преземете Работна книга за вежбање

Преземете ја оваа работна книга за вежбање за вежбање додека ја читате оваа статија.

PasteSpecial Method Failed.xlsm

PasteSpecial Method of Range Class Failed: Причини и решенија

Без дополнително одложување, да одиме на нашата главна дискусија. Односно, кои можат да бидат можните причини зад оваа грешка и како да се решат.

Причина 1: Пристапување до методот PasteSpecial без копирање ништо

Ова е најмногу честа причина зад грешката. Односно, обидувајќи се да пристапите до методот PasteSpecial без да копирате ништо.

За да го разберете јасно, проверете го следниов VBA код.

⧭ VBA код:

5948

Овде, го користевме методот PasteSpecial на VBA без копирање било што. Така, Excel ќе прикаже грешка во времето на извршување 1004 кога ќе го извршите.

⧭ Решение:

За да го решите овој проблем, прво, треба да копирате опсег на ќелии, а потоа да пристапите до методот PasteSpecial .

3757

Кога ќе го извршите овој код, тоа ќезалепете ги формулите од опсегот B3:B5 од активниот работен лист во избраниот опсег.

Прочитајте повеќе: PasteSpecial методот на класата на работниот лист не успеа (причини и решенија)

Причина 2: Пристапување до методот PasteSpecial со правописна грешка

Ова е уште една честа причина зад грешка. Односно, за пристап до методот PasteSpecial со правописни грешки во кој било аргумент.

Погледнете го следниов код VBA за да ви биде јасно. Тука направивме правописна грешка во аргументот xlPasteAll .

⧭ VBA код:

5783

Кога ќе го извршите овој код, ќе ја добиете грешка при извршување 1004 .

⧭ Решение:

Решението е лесно. Сигурен сум дека веќе сте го погодиле тоа. Само проверете дали правописот на сите аргументи е направен правилно.

И грешката автоматски ќе исчезне.

Прочитајте повеќе: Како да користите залепување Специјална команда во Excel (5 соодветни начини)

Слични читања

  • Excel VBA: Копирај опсег во друга работна книга
  • Копирај и залепи вредности на следниот празен ред со Excel VBA (3 примери)
  • Примени VBA PasteSpecial и задржи форматирање на изворот во Excel
  • Како да копирате иста вредност во повеќе ќелии во Excel (4 методи)
  • Excel VBA за да копирате редови на друг работен лист врз основа на критериуми

Причина 3: Отворање новРаботна тетратка по копирање што го откажува режимот за копирање/лепење

Ова е уште една важна причина зад грешката. Односно, да се направи нешто што го откажува режимот за копирање/залепување пред да залепите.

Погледнете го следниот код за јасно да го разберете.

⧭ VBA код:

4414

Овде го копиравме опсегот B3:B5 од Листот1 на работната книга наречена Работна книга1 .

Потоа, создадовме нова работна книга наречена Работна книга2 во истата папка и се обидовме да го залепиме копираниот опсег во опсегот B3:B5 од Листот1 од таа работна книга.

Но, кога ќе го извршиме кодот, тој ќе прикаже PasteSpecial Method of Range Class Failed Грешка, бидејќи во моментот кога ќе ја креираме новата работна книга, режимот за копирање/залепување ќе се откаже.

⧭ Решение:

За да го решите овој проблем, прво напишете надолу низ линиите на кодот за да се создаде новата работна книга наречена Работна книга2 .

Потоа вметнете ги линиите за да ја активирате Работна книга1 и копирајте го саканиот опсег од него.

0>И, конечно, активирајте ја Работна книга2 и залепете го копираниот опсег таму.

6017

Изврши го овој код. Ќе го копира опсегот B3:B5 од Лист 1 од Работна книга1.

И залепете го во Лист 1 од новосоздадената работна книга наречена Работна книга2 .

⧭ Мерки на претпазливост:

Очигледно, не заборавајте да ја држите Работната книга1 отворена додека ја извршуватекод.

Прочитај повеќе: Како да се оневозможи копирање и залепување во Excel без макроа (со 2 критериуми)

Причина 4: Претворање на Application.CutCopyMode во Неточно што го откажува режимот за копирање/залепување

Конечно, може да има друга причина да се случи грешката. Може да го исклучиме Application.CutCopyMode погрешно пред да пристапиме до методот PasteSpecial .

Иако тоа не е многу вообичаена практика, сепак понекогаш го правиме кога треба да работете со долг број линии.

Видете го следниот код за јасно да го разберете. Овде го копиравме опсегот B3:B5 , но го откажавме CutCopyMode пред да го залепиме.

⧭ VBA код:

3084

Кога ќе го извршите кодот, тој ќе ја прикаже грешката PasteSpecial Method of Range Class Failed .

⧭ Решение:

Претпоставувам дека досега сите сте го погодиле решението. Всушност, тоа е прилично едноставно. Само отстранете ја линијата од кодот што го исклучува режимот CutCopy .

Значи, точниот код VBA ќе биде:

6264

Ќе го копира опсегот B3:B5 и ќе го залепи преку D3:D5 без никакви проблеми.

Прочитајте повеќе: ВБА залепете специјално за копирање вредности и формати во Excel (9 примери)

Работи што треба да се запаметат

Овде ги покажав само проблемите со кои може да наидете додека работите со методот PasteSpecial во VBA. Акосакате да го знаете методот PasteSpecial во детали, посетете ја оваа врска .

Заклучок

Значи, накратко, овие се причините што може да предизвикаат грешка во времето на извршување 1004: PasteSpecial Method od Range Class Failed во вашиот код. Се надевам дека јасно ги разбравте сите точки и тие ќе ви помогнат многу во иднина. Дали знаете некои други причини? И дали имате проблеми? Слободно прашајте не. И не заборавајте да ја посетите нашата страница ExcelWIKI за повеќе објави и ажурирања.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.