តារាងមាតិកា
បញ្ហាទូទៅបំផុតមួយដែលយើងជួបប្រទះនៅពេលធ្វើការជាមួយ ការចម្លង និងបិទភ្ជាប់នៅក្នុង VBA គឺ កំហុសពេលដំណើរការ 1004 : PasteSpecial Method of Range Class បានបរាជ័យ នៅក្នុងអត្ថបទនេះ ខ្ញុំនឹងបង្ហាញអ្នកពីមូលហេតុដែលអាចកើតមាននៅពីក្រោយកំហុសនេះ និងរបៀបដោះស្រាយវា ដោយមានឧទាហរណ៍ និងឧទាហរណ៍ត្រឹមត្រូវ។
ទាញយកសៀវភៅលំហាត់
ទាញយកសៀវភៅលំហាត់អនុវត្តនេះ ដើម្បីធ្វើលំហាត់ប្រាណ ខណៈពេលដែលអ្នកកំពុងអានអត្ថបទនេះ។
PasteSpecial Method Failed.xlsm
PasteSpecial Method of Range Class បរាជ័យ៖ មូលហេតុ និងដំណោះស្រាយ
ដោយគ្មានការពន្យាពេលទៀតទេ សូមចូលទៅកាន់ការពិភាក្សាចម្បងរបស់យើង។ នោះហើយជាអ្វីដែលអាចជាហេតុផលដែលអាចកើតមាននៅពីក្រោយកំហុសនេះ និងរបៀបដោះស្រាយវា។
ហេតុផលទី 1៖ ការចូលប្រើវិធីសាស្ត្រ PasteSpecial ដោយមិនចាំបាច់ចម្លងអ្វីទាំងអស់
នេះគឺច្រើនបំផុត ហេតុផលទូទៅនៅពីក្រោយកំហុស។ នោះគឺការព្យាយាមចូលប្រើវិធីសាស្ត្រ PasteSpecial ដោយមិនចាំបាច់ចម្លងអ្វីទាំងអស់។
ដើម្បីយល់ច្បាស់ សូមពិនិត្យមើល VBA កូដខាងក្រោម។
⧭ កូដ VBA៖
2954
នៅទីនេះ យើងបានប្រើវិធីសាស្ត្រ PasteSpecial នៃ VBA ដោយគ្មាន ចម្លងអ្វីទាំងអស់។ ដូច្នេះ Excel នឹងបង្ហាញ run-time error 1004 នៅពេលអ្នកដំណើរការវា។
⧭ ដំណោះស្រាយ៖
ដើម្បីដោះស្រាយបញ្ហានេះ ជាដំបូង អ្នកត្រូវចម្លងជួរក្រឡាមួយ បន្ទាប់មកចូលប្រើវិធីសាស្ត្រ PasteSpecial ។
2895
នៅពេលអ្នកដំណើរការកូដនេះ វានឹងបិទភ្ជាប់រូបមន្តនៃជួរ B3:B5 នៃសន្លឹកកិច្ចការសកម្មទៅជួរដែលបានជ្រើសរើស។
អានបន្ថែម៖ PasteSpecial Method of Worksheet Class បានបរាជ័យ (ហេតុផល & ដំណោះស្រាយ)
ហេតុផលទី 2៖ ការចូលប្រើវិធីសាស្ត្រ PasteSpecial ជាមួយនឹងកំហុសអក្ខរាវិរុទ្ធ
នេះគឺជាហេតុផលទូទៅមួយផ្សេងទៀតដែលនៅពីក្រោយ កំហុស។ នោះគឺដើម្បីចូលប្រើវិធីសាស្ត្រ PasteSpecial ដែលមានកំហុសអក្ខរាវិរុទ្ធនៅក្នុងអាគុយម៉ង់ណាមួយ។
សូមមើលកូដ VBA ខាងក្រោមដើម្បីធ្វើឲ្យវាច្បាស់។ នៅទីនេះយើងបានបង្កើតកំហុសអក្ខរាវិរុទ្ធនៅក្នុងអាគុយម៉ង់ xlPasteAll ។
⧭ កូដ VBA៖
1499
នៅពេលអ្នកដំណើរការកូដនេះ អ្នកនឹងទទួលបាន កំហុសពេលដំណើរការ 1004 ។
⧭ ដំណោះស្រាយ៖
ដំណោះស្រាយគឺងាយស្រួល។ ខ្ញុំប្រាកដថាអ្នកបានទាយរួចហើយ។ គ្រាន់តែត្រូវប្រាកដថាអក្ខរាវិរុទ្ធនៃអាគុយម៉ង់ទាំងអស់ត្រូវបានធ្វើបានត្រឹមត្រូវ។
ហើយកំហុសនឹងរលាយបាត់ដោយស្វ័យប្រវត្តិ។
អានបន្ថែម៖ របៀបប្រើការបិទភ្ជាប់ ពាក្យបញ្ជាពិសេសក្នុង Excel (5 វិធីសមស្រប)
ការអានស្រដៀងគ្នា
- Excel VBA៖ ចម្លងជួរទៅសៀវភៅការងារផ្សេងទៀត
- ចម្លង និងបិទភ្ជាប់តម្លៃទៅជួរទទេបន្ទាប់ជាមួយ Excel VBA (ឧទាហរណ៍ 3)
- អនុវត្ត VBA PasteSpecial និងរក្សាទម្រង់ប្រភពក្នុង Excel
- របៀបចម្លងតម្លៃដូចគ្នាក្នុងក្រឡាច្រើនក្នុង Excel (4 វិធីសាស្រ្ត)
- Excel VBA ដើម្បីចម្លងជួរដេកទៅសន្លឹកកិច្ចការផ្សេងទៀតដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យ
ហេតុផលទី 3៖ ការបើកថ្មី។សៀវភៅការងារបន្ទាប់ពីការចម្លងដែលលុបចោលរបៀបចម្លង/បិទភ្ជាប់
នេះគឺជាហេតុផលសំខាន់មួយទៀតនៅពីក្រោយកំហុស។ នោះគឺដើម្បីធ្វើអ្វីមួយដែលលុបចោលរបៀបចម្លង/បិទភ្ជាប់ មុនពេលបិទភ្ជាប់។
សូមមើលកូដខាងក្រោមសម្រាប់ការយល់ដឹងយ៉ាងច្បាស់។
⧭ កូដ VBA៖
5055
នៅទីនេះ យើងបានចម្លងជួរ B3:B5 ពី Sheet1 នៃសៀវភៅការងារដែលហៅថា Workbook1 ។
បន្ទាប់មកយើងបានបង្កើតសៀវភៅការងារថ្មីមួយដែលមានឈ្មោះថា Workbook2 ក្នុងថតដដែល ហើយព្យាយាមបិទភ្ជាប់ជួរដែលបានចម្លងទៅជួរ B3:B5 នៃ Sheet1 នៃសៀវភៅការងារនោះ។
ប៉ុន្តែនៅពេលដែលយើងដំណើរការកូដ វានឹងបង្ហាញ PasteSpecial Method of Range Class បានបរាជ័យ កំហុស ព្រោះពេលដែលយើងបង្កើតសៀវភៅការងារថ្មីនោះ របៀបចម្លង/បិទភ្ជាប់ នឹងត្រូវបានលុបចោល។
⧭ ដំណោះស្រាយ៖
ដើម្បីដោះស្រាយបញ្ហានេះ ជាដំបូង សូមសរសេរ ចុះក្រោមបន្ទាត់នៃកូដដើម្បីបង្កើតសៀវភៅការងារថ្មីហៅថា Workbook2 ។
បន្ទាប់មកបញ្ចូលបន្ទាត់ដើម្បីដំណើរការ Workbook1 ហើយចម្លងជួរដែលចង់បានពីវា។
ហើយចុងក្រោយ បើកដំណើរការ Workbook2 ហើយបិទភ្ជាប់ជួរដែលបានចម្លងនៅទីនោះ។
2948
ដំណើរការកូដនេះ។ វានឹងចម្លងជួរ B3:B5 ពី Sheet1 នៃ Workbook1។
ហើយបិទភ្ជាប់វា ទៅក្នុង Sheet1 នៃសៀវភៅការងារដែលបានបង្កើតថ្មីហៅថា Workbook2 ។
⧭ ការប្រុងប្រយ័ត្ន៖
ច្បាស់ណាស់ កុំភ្លេចរក្សា Workbook1 បើកខណៈពេលដែលដំណើរការកូដ។
អានបន្ថែម៖ របៀបបិទការចម្លង និងបិទភ្ជាប់ក្នុង Excel ដោយគ្មានម៉ាក្រូ (មានលក្ខខណ្ឌ 2)
ហេតុផលទី 4៖ ការបង្វែរ Application.CutCopyMode ទៅជា False ដែលបោះបង់របៀបចម្លង/បិទភ្ជាប់
ជាចុងក្រោយ វាអាចមានហេតុផលផ្សេងទៀតសម្រាប់កំហុសដែលកើតឡើង។ យើងអាចបិទ Application.CutCopyMode ដោយច្រឡំ មុនពេលចូលប្រើវិធីសាស្ត្រ PasteSpecial ។
ទោះបីជាវាមិនមែនជាការអនុវត្តធម្មតាក៏ដោយ ពេលខ្លះយើងនៅតែធ្វើវានៅពេលយើងទៅ ធ្វើការជាមួយចំនួនជួរវែង។
សូមមើលកូដខាងក្រោមសម្រាប់ការយល់ដឹងយ៉ាងច្បាស់។ នៅទីនេះយើងបានចម្លងជួរ B3:B5 ប៉ុន្តែបានលុបចោល CutCopyMode មុនពេលបិទភ្ជាប់វា។
⧭ កូដ VBA៖
7648
នៅពេលដែលអ្នកនឹងដំណើរការកូដ វានឹងបង្ហាញកំហុស PasteSpecial Method of Range Class បានបរាជ័យ ។
⧭ ដំណោះស្រាយ៖
ខ្ញុំស្មានថាពេលនេះអ្នកទាំងអស់គ្នាបានទាយដំណោះស្រាយហើយ។ តាមពិតវាសាមញ្ញណាស់។ គ្រាន់តែដកបន្ទាត់ចេញពីកូដដែលបិទរបៀប CutCopy ។
ដូច្នេះ កូដ VBA ត្រឹមត្រូវនឹងមានៈ
6190
វានឹងចម្លងជួរ B3:B5 ហើយបិទភ្ជាប់វានៅលើ D3:D5 ដោយមិនមានបញ្ហាអ្វីឡើយ។
អានបន្ថែម៖ VBA Paste Special ដើម្បីចម្លងតម្លៃ និងទម្រង់ក្នុង Excel (ឧទាហរណ៍ 9)
រឿងដែលត្រូវចងចាំ
នៅទីនេះខ្ញុំបានបង្ហាញតែបញ្ហាដែលអ្នកអាចជួបប្រទះនៅពេលធ្វើការជាមួយវិធីសាស្ត្រ PasteSpecial នៅក្នុង VBA។ ប្រសិនបើអ្នកចង់ដឹងវិធីសាស្រ្ត PasteSpecial លម្អិត សូមចូលទៅកាន់ តំណនេះ ។
សេចក្តីសន្និដ្ឋាន
ដូច្នេះ សរុបមក ទាំងនេះ គឺជាហេតុផលដែលអាចបណ្តាលឱ្យមាន កំហុសពេលដំណើរការ 1004៖ វិធីសាស្ត្របិទភ្ជាប់ពិសេស od Range Class បរាជ័យ នៅក្នុងកូដរបស់អ្នក។ ខ្ញុំសង្ឃឹមថាអ្នកបានយល់ពីចំណុចទាំងអស់យ៉ាងច្បាស់ ហើយចំនុចទាំងនោះនឹងជួយអ្នកបានច្រើននាពេលអនាគត។ តើអ្នកដឹងពីមូលហេតុផ្សេងទៀតទេ? ហើយតើអ្នកមានបញ្ហាអ្វីទេ? មានអារម្មណ៍សេរីដើម្បីសួរពួកយើង។ ហើយកុំភ្លេចចូលមើលគេហទំព័ររបស់យើង ExcelWIKI សម្រាប់ការបង្ហោះ និងព័ត៌មានថ្មីៗបន្ថែមទៀត។