តារាងមាតិកា
នៅក្នុងអត្ថបទនេះ យើងនឹងបង្ហាញអ្នកពីហេតុផលសម្រាប់កំហុស “ 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 ប្រសិនបើអ្នកមានជួរកូដដ៏ធំ។
អត្ថបទនេះបង្ហាញអ្នកពីហេតុផល និងដំណោះស្រាយនៃ Excel Subscript out of range error ក្នុង VBA។ ខ្ញុំសង្ឃឹមថាអត្ថបទនេះមានប្រយោជន៍ច្រើនសម្រាប់អ្នក។ រីករាយក្នុងការសួរសំណួរណាមួយទាក់ទងនឹងប្រធានបទ។