Excel Subscript Out of Range Error នៅក្នុង VBA (មានដំណោះស្រាយ 5)

  • ចែករំលែកនេះ។
Hugh West

នៅក្នុងអត្ថបទនេះ យើងនឹងបង្ហាញអ្នកពីហេតុផលសម្រាប់កំហុស “ Subscript out of Range ” នៅក្នុង Excel VBA និងវិធីដោះស្រាយវា។

ទាញយកគំរូការអនុវត្ត

អ្នកអាចទាញយកគំរូការអនុវត្ត Excel ដោយឥតគិតថ្លៃពីទីនេះ។

Subscript Out of Range Error in VBA.xlsm

តើអ្វីជា Subscript Out of Range Error នៅក្នុង VBA?

VBA Subscript out of range error កើតឡើងនៅពេលដែលយើងព្យាយាមចូលប្រើសមាជិកដែលមិនមាន ឬ collection array ដែលមិនមាននៅក្នុង Excel។ នេះគឺជាប្រភេទ “ កំហុសពេលដំណើរការ 9 ” ក្នុងការសរសេរកូដ VBA នៅក្នុង Excel។

ជាធម្មតា កំហុសមើលទៅដូចនេះ

5 ហេតុផលជាមួយនឹងដំណោះស្រាយនៃ Subscript Out of Range Error នៅក្នុង VBA

ផ្នែកនេះនឹងពិភាក្សាអំពីមូលហេតុទូទៅបំផុតចំនួន 5 សម្រាប់ការកើតឡើងនៃ Subscript out of range error និងអ្វីដែលជាដំណោះស្រាយចំពោះវា។

1. Subscript Out of Range Error in VBA for Nonexistent Workbook

នៅពេលអ្នកព្យាយាមចូលប្រើសៀវភៅការងារ Excel ដែលមិនបើក អ្នកនឹងទទួលបានកំហុស “ Subscript out of range ”។

ប្រសិនបើយើងព្យាយាម រត់ កូដដែលបានបង្ហាញខាងលើ យើងនឹងទទួលបានកំហុស ដោយសារមិនមានសៀវភៅការងារ Excel ដែលមានឈ្មោះថា “ ការលក់ ” ដែលបច្ចុប្បន្នកំពុងបើក។

ដំណោះស្រាយ

ដើម្បីដោះស្រាយកំហុសនេះ ដំបូងបើកសៀវភៅការងារ Excel ដែលអ្នកចង់ចូលប្រើ ហើយបន្ទាប់មករត់ ម៉ាក្រូ។

2. Subscript Out of Range កំហុសនៅក្នុង VBA សម្រាប់មិនមានសន្លឹកកិច្ចការ

នៅពេលអ្នកព្យាយាមចូលប្រើសន្លឹកកិច្ចការដែលមិនមាននៅក្នុងសៀវភៅការងារ Excel នោះអ្នកក៏នឹងទទួលបាន “ Subscript out of range ” កំហុសនៅក្នុង VBA .

ប្រសិនបើយើងព្យាយាមដំណើរការកូដដែលបានបង្ហាញខាងលើ យើងនឹងទទួលបានកំហុសព្រោះមិនមាន “ Sheet2 ” សន្លឹកកិច្ចការដែលមាននៅក្នុងសៀវភៅការងាររបស់យើង។

ដំណោះស្រាយ

ដើម្បីដោះស្រាយកំហុសនេះ អ្នកត្រូវមានសន្លឹក Excel ដែលអ្នកចង់ចូលប្រើក្នុងសៀវភៅការងារដែលកំពុងដំណើរការ និង បន្ទាប់មកដំណើរការម៉ាក្រូ។

3. Subscript Out of Range Error in VBA for Undefined Array Elements

ប្រសិនបើអ្នកមិនកំណត់ប្រវែងនៃ dynamic Array ជាមួយ ពាក្យ DIM REDIM ក្នុង Excel VBA បន្ទាប់មកអ្នកនឹងទទួលបាន “ Subscript out of range ” Error។

នៅក្នុងកូដខាងលើ យើងបានប្រកាស Array ក្នុងវិមាត្រពី 5 ដល់ 10 ប៉ុន្តែសំដៅទៅលើ subscript នៃ index 3 ដែលទាបជាង 5។

ដំណោះស្រាយ

ដើម្បីដោះស្រាយវា សូមប្រកាសសន្ទស្សន៍នៅចន្លោះវិមាត្រអារេ។

បំណែកនេះ e នៃកូដដំណើរការយ៉ាងល្អឥតខ្ចោះ ពីព្រោះនៅទីនេះ យើងបានយោងទៅ subscript នៃលិបិក្រម 5 ដែលស្ថិតនៅក្នុងចន្លោះពី 5 ទៅ 10។

4. Subscript Out of Range Error in VBA for Invalid Collection/ អារេ

នៅពេលដែលអក្សររងធំជាង ឬតូចជាងជួរនៃអក្សររងដែលអាចធ្វើបាន នោះកំហុស Subscript out of range នឹងកើតឡើង។

សូមមើលឧទាហរណ៍ខាងលើ យើងបាន​ប្រកាស​អថេរ​ជា​អារេ ប៉ុន្តែ​ជំនួស​ឱ្យ​ការ​កំណត់​ចំណុច​ចាប់​ផ្តើម​និង​ចុង យើង​បាន​កំណត់​អារេ​ទី​មួយ​ដោយ​ផ្ទាល់​ជាមួយ​តម្លៃ 20 ។

ដំណោះស្រាយ

ទៅ ដោះស្រាយបញ្ហានេះ យើងត្រូវកំណត់ប្រវែងនៃអារេជាមួយនឹងចំណុចចាប់ផ្តើម និងចំណុចបញ្ចប់។

កូដនេះមិនផ្តល់កំហុសណាមួយទេ ព្រោះឥឡូវនេះយើងបានប្រកាស Array ជាមួយនឹងចំនុចចាប់ផ្តើមនៃ 1 និងចំនុចបញ្ចប់នៃ 5.

5. Subscript Out of Range Error in VBA for Shorthand Script

ប្រសិនបើអ្នកប្រើ shorthand ពី a subscript ហើយវាសំដៅទៅលើធាតុដែលមិនត្រឹមត្រូវ បន្ទាប់មកអ្នកនឹងទទួលបាន “ Subscript out of range ” error នៅក្នុង Excel VBA ។ ឧទាហរណ៍ [A2] គឺជាអក្សរកាត់សម្រាប់ ActiveSheet.Range(A2)

ដំណោះស្រាយ

ដើម្បីជួសជុល នេះ អ្នកត្រូវតែប្រើ ឈ្មោះគន្លឹះ និង លិបិក្រម ដែលមានសុពលភាពសម្រាប់ការប្រមូល។ ជំនួសឱ្យការសរសេរ ActiveSheet.Range(A2) អ្នកគ្រាន់តែអាចសរសេរ [ A2 ]។

អត្ថប្រយោជន៍នៃ Excel Subscript Out of Range Error in VBA

  • VBA Subscript out of range error ឬ “ Run-Time Error 9 ” គឺពិតជាមានប្រយោជន៍ក្នុងការបញ្ជាក់ទីតាំងនៃកំហុសដែលវាបានកើតឡើង នៅក្នុងកូដ VBA
  • កំហុសនេះជួយអ្នកប្រើប្រាស់ក្នុងការស្វែងរកប្រភេទនៃកំហុស ដូច្នេះពួកគេអាចពិនិត្យមើល និងស្វែងរកដំណោះស្រាយដោយយោងតាមកូដកំហុស។

អ្វីដែលត្រូវចងចាំ

  • ដោយសារកំហុសនេះចងក្រងជំហាននីមួយៗនៃកូដ ដើម្បីដឹកនាំយើងឱ្យច្បាស់ថាតើផ្នែកណានៃកូដដែលយើងពិតជាត្រូវការដើម្បីធ្វើសកម្មភាព ដូច្នេះវាជាការប្រសើរក្នុងការចងក្រងជួរនៃកូដនីមួយៗដោយចុច F8 ប្រសិនបើអ្នកមានជួរកូដដ៏ធំ។
<4 សេចក្តីសន្និដ្ឋាន

អត្ថបទនេះបង្ហាញអ្នកពីហេតុផល និងដំណោះស្រាយនៃ Excel Subscript out of range error ក្នុង VBA។ ខ្ញុំសង្ឃឹមថាអត្ថបទនេះមានប្រយោជន៍ច្រើនសម្រាប់អ្នក។ រីករាយក្នុងការសួរសំណួរណាមួយទាក់ទងនឹងប្រធានបទ។

Hugh West គឺជាគ្រូបណ្តុះបណ្តាល Excel ដែលមានបទពិសោធន៍ខ្ពស់ និងជាអ្នកវិភាគដែលមានបទពិសោធន៍ជាង 10 ឆ្នាំនៅក្នុងឧស្សាហកម្មនេះ។ លោកបានបញ្ចប់ថ្នាក់បរិញ្ញាបត្រផ្នែកគណនេយ្យ និងហិរញ្ញវត្ថុ និងបរិញ្ញាបត្រជាន់ខ្ពស់ផ្នែកគ្រប់គ្រងពាណិជ្ជកម្ម។ Hugh មានចំណង់ចំណូលចិត្តក្នុងការបង្រៀន ហើយបានបង្កើតវិធីសាស្រ្តបង្រៀនពិសេសមួយ ដែលងាយស្រួលធ្វើតាម និងយល់។ ចំណេះដឹងជំនាញ Excel របស់គាត់បានជួយសិស្សានុសិស្ស និងអ្នកជំនាញរាប់ពាន់នាក់នៅទូទាំងពិភពលោកបង្កើនជំនាញ និងពូកែក្នុងអាជីពរបស់ពួកគេ។ តាមរយៈប្លុករបស់គាត់ លោក Hugh ចែករំលែកចំណេះដឹងរបស់គាត់ជាមួយពិភពលោក ដោយផ្តល់ជូននូវការបង្រៀន Excel ដោយឥតគិតថ្លៃ និងការបណ្តុះបណ្តាលតាមអ៊ីនធឺណិត ដើម្បីជួយបុគ្គល និងអាជីវកម្មឈានដល់សក្តានុពលពេញលេញរបស់ពួកគេ។