Памылка падчас выканання 1004: метад PasteSpecial дыяпазону не ўдаўся

  • Падзяліцца Гэтым
Hugh West

Адной з самых распаўсюджаных праблем, з якімі мы сутыкаемся падчас працы з капіраваннем і ўстаўкай у VBA , з'яўляецца памылка падчас выканання 1004 : Памылка спецыяльнага метаду класа дыяпазону . У гэтым артыкуле я пакажу вам, якія магчымыя прычыны гэтай памылкі і як іх вырашыць, з адпаведнымі прыкладамі і ілюстрацыямі.

Спампаваць Практычны сшытак

Спампуйце гэты практычны сшытак, каб практыкавацца, пакуль вы чытаеце гэты артыкул.

PasteSpecial Method Failed.xlsm

PasteSpecial Method of Range Class Failed: Прычыны і рашэнні

Без далейшых затрымак пяройдзем да нашага асноўнага абмеркавання. Гэта значыць, якія могуць быць магчымыя прычыны гэтай памылкі і як іх вырашыць.

Прычына 1: Доступ да метаду PasteSpecial без капіравання чаго-небудзь

Гэта самы агульная прычына памылкі. Гэта значыць, спроба атрымаць доступ да метаду PasteSpecial без капіравання нічога.

Каб гэта ясна зразумець, праверце наступны код VBA .

⧭ Код VBA:

4815

Тут мы выкарыстоўвалі метад PasteSpecial VBA без капіраванне чаго-небудзь. Такім чынам, пры запуску Excel будзе адлюстроўвацца памылка выканання 1004 .

⧭ Рашэнне:

Каб вырашыць гэту праблему, спачатку трэба скапіяваць дыяпазон вочак, а затым атрымаць доступ да метаду PasteSpecial .

3402

Калі вы запускаеце гэты код, гэта будзеустаўце формулы дыяпазону B3:B5 актыўнага аркуша ў выбраны дыяпазон.

Чытаць далей: Метад PasteSpecial класа Worksheet Failed (Прычыны і рашэнні)

Прычына 2: Доступ да метаду PasteSpecial з арфаграфічнай памылкай

Гэта яшчэ адна распаўсюджаная прычына памылка. Гэта значыць, каб атрымаць доступ да метаду PasteSpecial з арфаграфічнымі памылкамі ў любым аргументе.

Паглядзіце на наступны код VBA , каб зрабіць гэта зразумелым. Тут мы зрабілі арфаграфічную памылку ў аргументе xlPasteAll .

⧭ Код VBA:

3012

Калі вы запусціце гэты код, вы атрымаеце памылку выканання 1004 .

⧭ Рашэнне:

Рашэнне лёгкае. Я ўпэўнены, што вы ўжо здагадаліся пра гэта. Проста пераканайцеся, што ўсе аргументы напісаны правільна.

І памылка аўтаматычна знікне.

Дадатковая інфармацыя: Як выкарыстоўваць Paste Спецыяльная каманда ў Excel (5 прыдатных спосабаў)

Падобныя паказанні

  • Excel VBA: скапіруйце дыяпазон у іншую кнігу
  • Скапіруйце і ўстаўце значэнні ў наступны пусты радок з дапамогай Excel VBA (3 прыклады)
  • Ужыце VBA PasteSpecial і захавайце зыходнае фарматаванне ў Excel
  • Як скапіяваць адно і тое ж значэнне ў некалькіх ячэйках у Excel (4 метады)
  • Excel VBA для капіравання радкоў у іншы аркуш на аснове крытэрыяў

Прычына 3: Адкрыццё новагаПрацоўная кніга пасля капіравання, якая адмяняе рэжым капіравання/ўстаўкі

Гэта яшчэ адна важная прычына памылкі. Гэта значыць зрабіць што-небудзь, што адмяняе рэжым капіравання/ўстаўкі перад устаўкай.

Паглядзіце на наступны код, каб ясна зразумець.

⧭ Код VBA:

4112

Тут мы скапіявалі дыяпазон B3:B5 з Sheet1 рабочай кнігі пад назвай Workbook1 .

Затым мы стварылі новую кнігу пад назвай Workbook2 у той жа папцы і паспрабавалі ўставіць скапіраваны дыяпазон у дыяпазон B3:B5 Sheet1 гэтай працоўнай кнігі.

Але калі мы запускаем код, ён адлюстроўвае памылку PasteSpecial Method of Range Class Failed Error, таму што ў той момант, калі мы ствараем новую працоўную кнігу, рэжым капіравання/ўстаўкі будзе адменены.

⧭ Рашэнне:

Каб вырашыць гэтую праблему, спачатку напішыце уніз па радках кода, каб стварыць новую працоўную кнігу пад назвай Workbook2 .

Затым устаўце радкі для актывацыі Workbook1 і скапіруйце з яе патрэбны дыяпазон.

І, нарэшце, актывуйце Workbook2 і ўстаўце туды скапіраваны дыяпазон.

6685

Запусціце гэты код. Ён скапіруе дыяпазон B3:B5 з Sheet1 з Workbook1.

І ўставіць яго у Sheet1 толькі што створанай працоўнай кнігі пад назвай Workbook2 .

⧭ Мера засцярогі:

Відавочна, не забывайце трымаць Workbook1 адкрытым падчас запускукод.

Дадатковая інфармацыя: Як адключыць капіраванне і ўстаўку ў Excel без макрасаў (з 2 крытэрыямі)

Прычына 4: Пераключэнне Application.CutCopyMode у False, што адмяняе рэжым капіравання/ўстаўкі

Нарэшце, можа быць іншая прычына ўзнікнення памылкі. Мы можам памылкова адключыць Application.CutCopyMode перад доступам да метаду PasteSpecial .

Хоць гэта не вельмі распаўсюджаная практыка, усё ж часам мы робім гэта, калі хочам працаваць з вялікай колькасцю радкоў.

Глядзіце наступны код, каб зразумець яго. Тут мы скапіравалі дыяпазон B3:B5 , але адмянілі CutCopyMode перад яго ўстаўкай.

⧭ Код VBA:

5954

Калі вы запусціце код, ён пакажа памылку PasteSpecial Method of Range Class Failed .

⧭ Рашэнне:

Мяркую, вы ўсе здагадаліся пра рашэнне. На самай справе гэта даволі проста. Проста выдаліце ​​з кода радок, які адключае рэжым CutCopy .

Такім чынам, правільны код VBA будзе:

9187

Яно скапіруе дыяпазон B3:B5 і ўставіць яго па-над D3:D5 без праблем.

Дадатковая інфармацыя: VBA Paste Special для капіравання значэнняў і фарматаў у Excel (9 прыкладаў)

Пра што трэба памятаць

Тут я паказаў толькі праблемы, з якімі вы можаце сутыкнуцца падчас працы з метадам PasteSpecial у VBA. Калі выхочаце даведацца пра метад PasteSpecial у дэталях, перайдзіце па гэтай спасылцы .

Выснова

Такім чынам, карацей кажучы, гэтыя гэта прычыны, якія могуць выклікаць памылку падчас выканання 1004: PasteSpecial Method od Range Class Failed у вашым кодзе. Я спадзяюся, што вы дакладна зразумелі ўсе пункты, і яны вельмі дапамогуць вам у будучыні. Ці ведаеце вы якія-небудзь іншыя прычыны? А ці ёсць у вас праблемы? Не саромейцеся пытацца ў нас. І не забудзьцеся наведаць наш сайт ExcelWIKI , каб атрымаць больш паведамленняў і абнаўленняў.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.