Satura rādītājs
Šajā rakstā mēs jums parādīsim iemeslus, kāpēc " Indekss ārpus diapazona " kļūda programmā Excel VBA un kā tos atrisināt.
Lejupielādēt prakses veidni
Bezmaksas prakses Excel veidni varat lejupielādēt no šejienes.
Kļūda VBA.xlsm apakšindeksā ārpus diapazona
Kas ir apakšindiksa kļūda ārpus diapazona VBA?
VBA Indekss ārpus diapazona kļūda rodas, kad mēs mēģinām piekļūt kādam neesošam loceklim vai neesošai masīva kolekcijai programmā Excel. Tas ir " Kļūda darbības laikā 9 " kļūdas veids VBA kodēšana programmā Excel.
Kļūda parasti izskatās šādi,
5 iemesli un risinājumi, kāpēc VBA programmā tiek pieļauta kļūda, kad apakšindekss ir ārpus diapazona
Šajā sadaļā tiks aplūkoti 5 visbiežāk sastopamie iemesli, kāpēc rodas Indekss ārpus diapazona kļūdas un kādi ir tās risinājumi.
1. Neeksistējošas darbgrāmatas apakšzīmju kļūda ārpus diapazona VBA programmā
Mēģinot piekļūt Excel darbgrāmatai, kas nav atvērta, tiek parādīts " Indekss ārpus diapazona " kļūda.
Ja mēs cenšamies Palaist iepriekš parādīto kodu, mēs saņemsim kļūdu, jo nav Excel darbgrāmatas ar nosaukumu " Pārdošana ", kas pašlaik ir atvērts.
Risinājums
Lai atrisinātu šo kļūdu, vispirms atveriet Excel darbgrāmatu, kurai vēlaties piekļūt, un pēc tam Palaidiet makro.
2. Nepastāvošas darblapas apakšindiksu kļūda ārpus diapazona VBA programmā
Ja mēģināt piekļūt darblapai, kas neeksistē Excel darbgrāmatā, tad arī saņemsiet " Indekss ārpus diapazona " kļūda VBA .
Ja mēs mēģināsim palaist iepriekš parādīto kodu, mēs saņemsim kļūdu, jo nav " 2 lapa " darba lapa ir pieejama mūsu darba burtnīcā.
Risinājums
Lai atrisinātu šo kļūdu, darbgrāmatā ir jābūt Excel lapai, kurai vēlaties piekļūt, un pēc tam palaidiet makro.
3. Kļūda VBA programmā par nenoteiktiem masīva elementiem, kad apakšindiksi ir ārpus diapazona
Ja dinamiskā masīva garums nav definēts ar vārdu DIM vai REDIM programmā Excel VBA , tad jūs saņemsiet " Indekss ārpus diapazona " kļūda.
Iepriekš minētajā kodā mēs deklarējām masīvu ar dimensiju no 5 līdz 10, bet atsaucāmies uz indeksa 3 apakšindeksu, kas ir zemāks par 5.
Risinājums
Lai to atrisinātu, deklarējiet indeksu starp masīva dimensiju.
Šī koda daļa darbojas pilnīgi pareizi, jo šeit mēs atsaucāmies uz indeksa 5 apakšindeksu, kas atrodas diapazonā no 5 līdz 10.
4. Subscript Out of Range kļūda VBA programmā attiecībā uz nederīgu kolekciju/matu
Ja apakšindekss ir lielāks vai mazāks par iespējamo apakšindeksu diapazonu, tad Indekss ārpus diapazona notiks kļūda.
Aplūkojiet iepriekš minēto piemēru, mēs deklarējām mainīgo kā masīvu, bet tā vietā, lai piešķirtu sākuma un beigu punktu, mēs esam tieši piešķīruši pirmo masīvu ar vērtību 20.
Risinājums
Lai atrisinātu šo problēmu, mums ir jāpiešķir masīva garums ar sākuma un beigu punktu.
Šis kods nerada nekādas kļūdas, jo tagad mēs esam deklarējuši masīvu ar sākuma punktu 1 un beigu punktu 5.
5. Apakšindiksa kļūda ārpus diapazona VBA stenogrammas saīsinātajā skriptā
Ja izmantojat saīsinājumu no apakšsaraksta un tas attiecas uz nederīgu elementu, tad tiks parādīts " Indekss ārpus diapazona " kļūda programmā Excel VBA Piemēram, [A2] ir saīsinājums ActiveSheet.Range(A2) .
Risinājums
Lai to novērstu, ir jāizmanto derīgs atslēgas nosaukums un indekss kolekcijai. Tā vietā, lai rakstītu ActiveSheet.Range(A2) , varat vienkārši rakstīt [ A2 ].
Excel apakšsaraksta ārpus diapazona kļūdas priekšrocība VBA programmā
- VBA Indekss ārpus diapazona kļūda vai " Kļūda darbības laikā 9 " ir patiešām noderīga, lai norādītu kļūdas pozīciju, kurā tā radusies. VBA kods.
- Šī kļūda palīdz lietotājiem atrast kļūdas veidu, lai viņi varētu pārbaudīt un atrast risinājumus atbilstoši kļūdas kodam.
Lietas, kas jāatceras
- Tā kā šī kļūda kompilē katru koda posmu, lai norādītu, kurā tieši koda daļā mums ir jāveic darbības, tāpēc ir labāk kompilēt katru koda rindu pa vienai, nospiežot F8 taustiņš, ja jums ir milzīga koda rinda.
Secinājums
Šis raksts parādīja jums iemeslus un risinājumus Excel Indekss ārpus diapazona kļūda VBA. Es ceru, ka šis raksts jums ir bijis ļoti noderīgs. Jūs varat uzdot jebkādus jautājumus par šo tēmu.