Ishlash vaqti xatosi 1004: diapazon sinfining PasteSpecial usuli bajarilmadi

  • Buni Baham Ko'Ring
Hugh West

VBA-da nusxalash va joylashtirish bilan ishlashda biz duch keladigan eng keng tarqalgan muammolardan biri bu ish vaqti xatosi 1004 : PasteSpecial Method of diapazon klassi muvaffaqiyatsiz tugadi . Ushbu maqolada men sizga ushbu xatoning mumkin bo'lgan sabablari nimada ekanligini va ularni qanday hal qilishni tegishli misollar va rasmlar bilan ko'rsataman.

Amaliy ish kitobini yuklab oling

Ushbu maqolani o‘qiyotganingizda mashq qilish uchun ushbu mashq kitobini yuklab oling.

PasteSpecial Method Failed.xlsm

PasteSpecial Method of Range Class Muvaffaqiyatsiz: Sabablari va Yechimlar

Ko'proq kechiktirmasdan, asosiy muhokamamizga o'tamiz. Ya'ni, bu xatoning mumkin bo'lgan sabablari nima bo'lishi mumkin va ularni qanday hal qilish mumkin.

1-sabab: Hech narsadan nusxa ko'chirmasdan PasteSpecial usuliga kirish

Bu eng ko'p. xato ortidagi umumiy sabab. Ya'ni, hech narsa nusxa ko'chirmasdan PasteSpecial usuliga kirishga harakat qilish.

Uni aniq tushunish uchun quyidagi VBA kodni tekshiring.

⧭ VBA kodi:

2608

Bu yerda biz VBA ning PasteSpecial usulidan foydalandik. har qanday narsani nusxalash. Shunday qilib, Excel uni ishga tushirganingizda ish vaqti xatosi 1004 ni ko'rsatadi.

⧭ Yechim:

Ushbu muammoni hal qilish uchun, avvalo, bir qator kataklardan nusxa koʻchirishingiz, soʻng PasteSpecial usuliga kirishingiz kerak.

6288

Ushbu kodni ishga tushirganingizda, bo'ladifaol ish varag'ining B3:B5 diapazonidagi formulalarni tanlangan diapazonga qo'ying.

Batafsil o'qing: Ish varaqlari sinfining maxsus Paste usuli muvaffaqiyatsiz tugadi (sabablari va yechimlari)

2-sabab: Imlo xatosi bilan PasteSpecial usuliga kirish

Bu yana bir keng tarqalgan sababdir. xato. Ya'ni, har qanday argumentda imlo xato(lari) bilan PasteSpecial usuliga kirish uchun.

Buni aniq qilish uchun quyidagi VBA kodiga qarang. Bu erda biz xlPasteAll argumentida imlo xatosiga yo'l qo'ydik.

⧭ VBA kodi:

8608

Ushbu kodni ishga tushirganingizda, siz ish vaqti xatosi 1004 ni olasiz.

⧭ Yechim:

Yechish oson. Ishonchim komilki, siz buni allaqachon taxmin qilgansiz. Faqat barcha argumentlarning imlosi toʻgʻri tuzilganligiga ishonch hosil qiling.

Va xato avtomatik ravishda yoʻqoladi.

Batafsil oʻqing: Qanday qilib qoʻyish kerak Excelda maxsus buyruq (5 mos usul)

Shunga o'xshash o'qishlar

  • Excel VBA: diapazonni boshqa ish kitobiga nusxalash
  • Qiymatlarni Excel VBA yordamida keyingi bo'sh qatorga nusxalash va joylashtirish (3 ta misol)
  • VBA PasteSpecial-ni qo'llash va Excelda manba formatlashni saqlash
  • Excelda bir nechta katakchalardagi bir xil qiymatni qanday nusxalash mumkin (4 usul)
  • Mezmonlar asosida qatorlarni boshqa ishchi varaqga nusxalash uchun Excel VBA

3-sabab: Yangisini ochishNusxalashdan keyin nusxa ko'chirish/qo'yish rejimini bekor qiladigan ish kitobi

Bu xatoning yana bir muhim sababi. Ya'ni, joylashtirishdan oldin nusxa ko'chirish/joylashtirish rejimini bekor qiladigan biror narsa qilish.

Aniq tushunish uchun quyidagi kodga qarang.

⧭ VBA kodi:

8353

Bu yerda biz B3:B5 diapazonini Ishchi kitobi1 deb nomlangan ish kitobining Vaq1 dan nusxa oldik.

Keyin biz shu papkada Ishchi kitobi2 nomli yangi ish kitobini yaratdik va koʻchirilgan diapazonni Varaq1 B3:B5 joylashtirishga harakat qildik. 2> ish kitobi.

Lekin biz kodni ishga tushirganimizda, u PasteSpecial Method of Range Class Failed Failed Xatoni ko'rsatadi, chunki biz yangi ish kitobini yaratganimizda, nusxa olish/joylashtirish rejimi bekor qilinadi.

⧭ Yechim:

Ushbu muammoni hal qilish uchun avval yozing Ish kitobi2 deb nomlangan yangi ish kitobini yaratish uchun kod satrlarini pastga tushiring.

Keyin Ishchi kitobi -ni faollashtirish uchun qatorlarni kiriting va undan kerakli diapazonni nusxalang.

Va nihoyat, Workbook2 -ni faollashtiring va u yerga nusxalangan diapazonni joylashtiring.

9960

Ushbu kodni ishga tushiring. U Ishchi daftar1 ning Shart1 dan B3:B5 diapazonidan nusxa oladi.

Va uni joylashtiring Ishchi kitobi2 deb nomlangan yangi yaratilgan ishchi kitobining Varaq1 ga.

⧭ Ehtiyot:

Shubhasiz, ishlayotganda Ish kitobi1 ni ochiq saqlashni unutmang.kod.

Batafsil o'qing: Makrolarsiz Excelda nusxa ko'chirish va joylashtirishni qanday o'chirish mumkin (2 ta mezon bilan)

4-sabab: Nusxalash/qo'yish rejimini bekor qiluvchi Application.CutCopyMode-ni False ga aylantirish

Nihoyat, xatolik yuzaga kelishining yana bir sababi bo'lishi mumkin. Biz PasteSpecial usuliga kirishdan oldin xatolik tufayli Application.CutCopyMode -ni o'chirib qo'yishimiz mumkin.

Bu juda keng tarqalgan amaliyot bo'lmasa-da, ba'zida biz buni kerak bo'lganda qilamiz. uzun qatorlar bilan ishlang.

Uni aniq tushunish uchun quyidagi kodga qarang. Bu yerda biz B3:B5 diapazonidan nusxa oldik, lekin joylashtirishdan oldin CutCopyMode ni bekor qildik.

⧭ VBA kodi:

8053

Kodni ishga tushirganingizda, u PasteSpecial Method of Range Class Failed Failed xatosini ko'rsatadi.

⧭ Yechim:

O'ylaymanki, hozir hammangiz yechimni taxmin qildingiz. Bu aslida juda oddiy. CutCopy rejimini o'chiradigan koddan chiziqni olib tashlang.

Shunday qilib, to'g'ri VBA kodi quyidagicha bo'ladi:

2016

U B3:B5 diapazonidan nusxa oladi va hech qanday muammosiz D3:D5 ustiga qo'yadi.

Batafsil o'qing: VBA Excel-da qiymatlar va formatlarni nusxalash uchun maxsus joylashtirish (9 ta misol)

Eslash kerak bo'lgan narsalar

Bu yerda men faqat VBA da PasteSpecial usuli bilan ishlashda duch kelishi mumkin boʻlgan muammolarni koʻrsatdim. PasteSpecial usulini batafsil bilmoqchi bo'lsangiz, ushbu havolaga tashrif buyuring.

Xulosa

Xulosa qilib aytganda, bular Kodingizda ish vaqti xatosi 1004: PasteSpecial Method od Range Class Failed ga olib kelishi mumkin bo'lgan sabablar. Umid qilamanki, siz barcha fikrlarni aniq tushundingiz va ular kelajakda sizga ko'p yordam beradi. Boshqa sabablarni bilasizmi? Va sizda biron bir muammo bormi? Bemalol bizdan so'rang. Yana postlar va yangilanishlar uchun ExcelWIKI saytimizga tashrif buyurishni unutmang.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.