Kuidas parandada rakenduse Visual Basic viga „Alaindeksi vahemikust väljas”?



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

Visual Basic for Applications (VBA) on Microsofti välja töötatud Visual Basicu programmeerimiskeel. VBA-d saab kasutada UDF-ide lubamiseks, ülesannete automatiseerimiseks ja WinAPI-le juurdepääsuks DLL-ide kaudu. Kuid üsna hiljuti on tulnud palju teateid, kus kasutajad ei suuda teatud käske täita ja Alaindeks vahemikust väljas, viga 9 ”Hüppab proovides seda teha.



Viga alaindeksi vahemikust väljas



Mis põhjustab VBA-s vea „Alaindeks vahemikust väljas”?

Pärast mitmelt kasutajalt arvukate teadete saamist otsustasime probleemi uurida ja leidsime lahenduste komplekti selle täielikuks lahendamiseks. Samuti uurisime põhjuseid, mille tõttu see käivitati, ja loetlesime need järgmiselt.



  • Olemasolev element: Mõnel juhul on võimalik, et olete viidanud käsus elemendile, mida pole olemas. Võimalik, et alaindeks on kas suurem või väiksem kui võimalike tellimuste vahemik või mõõtmeid ei pruugitud massiivi jaoks selles rakenduses määrata.
  • Määratlemata elemendid: Võimalik, et te ei tuvastanud oma koodis elementide arvu, on oluline, et massiivi elementide arv määratletakse käskude „Dim” või „ReDim” abil.
  • Vale kollektsiooni liige: Mõnel juhul võib kasutaja viidata kogu liikmele, mida pole olemas. Kui kollektsiooni liikme poole viidatakse valesti, võidakse see viga käivitada.
  • Lühike skript: Võimalik, et olete kasutanud alamindeksi lühivormi ja see määras vaikimisi vale elemendi. Oluline on kasutada kehtivat võtme nime.

Nüüd, kui teil on põhiline arusaam probleemi olemusest, liigume edasi lahenduste poole. Konfliktide vältimiseks rakendage need kindlasti esitamise kindlas järjekorras.

1. lahendus: massiivide kontrollimine

Võimalik, et olete massiivi elemendi jaoks määranud vale väärtuse. Seetõttu on soovitatav uuesti kontrollida massiivi elemendi jaoks määratud väärtust ja veenduda, et see oleks õige. Samuti kontrollige kindlasti massiivi deklaratsiooni ja kontrollima ülemine ja alumine piir. Kui massiivid on ümber muudetud, kasutage kindlasti LSidetud ja UBound funktsioonid juurdepääsude tingimiseks. Kui indeks on muutuja, kontrollige muutuja nime õigekirja.

Massiiv VBA Excelis



2. lahendus: elementide arvu määramine

Mõnel juhul võib juhtuda, et te pole oma koodis määranud nende elementide arvu, mille tõttu viga käivitatakse. Massiivi elementide arv on soovitatav määrata nupuga Puudub või ReDim funktsioone.

Kasutage elementide arvu määramiseks Dim ja ReDim

3. lahendus: konstruktsiooni muutmine

See tõrge käivitatakse tavaliselt siis, kui kasutaja määrab vale või olematu kollektsiooni liikme. Seetõttu on indeksielementide täpsustamise asemel soovitatav pöörduda ' Igaühe jaoks ... Järgmine ”Konstrueerida.

Konstruktsiooni „For Every… Next” kasutamine

4. lahendus: võtmenime ja registri kontrollimine

Mõnel juhul on võimalik, et olete kasutanud alaindeksi lühivormi ja see määrab kehtetu elemendi. Seetõttu on soovitatav kasutada a kehtiv võti nimi ja indeks kogu jaoks.

Kehtiva võtmenime kasutamine

2 minutit loetud