Chyba indexu Excel mimo rozsahu vo VBA (s 5 riešeniami)

  • Zdieľajte To
Hugh West

V tomto článku vám ukážeme dôvody pre " Odpis mimo rozsahu " chyba v programe Excel VBA a ako ich vyriešiť.

Stiahnite si šablónu pre prax

Bezplatnú cvičnú šablónu Excel si môžete stiahnuť odtiaľto.

Chyba subskriptu mimo rozsahu v programe VBA.xlsm

Čo je chyba subskriptu mimo rozsahu vo VBA?

Odpis VBA mimo rozsahu chyba nastane, keď sa pokúsime získať prístup k neexistujúcemu členovi alebo neexistujúcej kolekcii polí v Exceli. Ide o chybu " Chyba v čase behu 9 " typ chyby v VBA kódovanie v programe Excel.

Chyba zvyčajne vyzerá takto,

5 dôvodov s riešením chyby subskriptu mimo rozsahu vo VBA

V tejto časti sa bude diskutovať o 5 najčastejších dôvodoch výskytu Odpis mimo rozsahu a aké sú jej riešenia.

1. Chyba subskripcie mimo rozsahu vo VBA pre neexistujúci zošit

Pri pokuse o prístup k zošitu programu Excel, ktorý nie je otvorený, sa zobrazí hlásenie " Odpis mimo rozsahu " chyba.

Ak sa pokúsime Spustiť kód uvedený vyššie, dostaneme chybu, pretože neexistuje žiadny zošit Excelu s názvom " Predaj ", ktorá je v súčasnosti otvorená.

Riešenie

Ak chcete túto chybu vyriešiť, najprv otvorte zošit programu Excel, ku ktorému chcete získať prístup, a potom spustite makro.

2. Chyba subskripcie mimo rozsahu vo VBA pre neexistujúci pracovný hárok

Keď sa pokúsite získať prístup k pracovnému listu, ktorý v zošite programu Excel neexistuje, zobrazí sa tiež hlásenie " Odpis mimo rozsahu " chyba v VBA .

Ak sa pokúsime spustiť vyššie uvedený kód, dostaneme chybu, pretože neexistuje " List2 " pracovný list, ktorý je k dispozícii v našom pracovnom zošite.

Riešenie

Ak chcete túto chybu vyriešiť, musíte mať v spustenom zošite Excelu hárok, ku ktorému chcete získať prístup, a potom spustiť makro.

3. Chyba indexu mimo rozsahu vo VBA pre nedefinované prvky poľa

Ak nedefinujete dĺžku dynamického poľa slovom DIM alebo REDIM v programe Excel VBA , potom sa zobrazí " Odpis mimo rozsahu " chyba.

Vo vyššie uvedenom kóde sme deklarovali pole v dimenzii od 5 do 10, ale odkazovali sme na index 3, ktorý je nižší ako 5.

Riešenie

Ak to chcete vyriešiť, deklarujte index medzi rozmermi poľa.

Táto časť kódu funguje úplne v poriadku, pretože sme sa tu odvolali na index 5, ktorý sa nachádza v rozsahu 5 až 10.

4. Chyba indexu mimo rozsahu vo VBA pre neplatnú kolekciu/ pole

Ak je dolný index väčší alebo menší ako rozsah možných dolných indexov, potom sa Odpis mimo rozsahu dôjde k chybe.

Pozrite sa na vyššie uvedený príklad, premennú sme deklarovali ako pole, ale namiesto priradenia počiatočného a koncového bodu sme priamo priradili prvé pole s hodnotou 20.

Riešenie

Aby sme tento problém vyriešili, musíme priradiť dĺžku poľa s počiatočným a koncovým bodom.

Tento kód nevyvolá žiadnu chybu, pretože teraz sme deklarovali pole s počiatočným bodom 1 a koncovým bodom 5.

5. Chyba subskriptu mimo rozsahu vo VBA pre skrátený skript

Ak použijete skratku z indexu a tá odkazuje na neplatný prvok, zobrazí sa hlásenie " Odpis mimo rozsahu " chyba v programe Excel VBA Napríklad, [A2] je skratka pre ActiveSheet.Range(A2) .

Riešenie

Ak to chcete opraviť, musíte použiť platný názov kľúča a index pre zbierku. Namiesto zápisu ActiveSheet.Range(A2) , môžete jednoducho napísať [ A2 ].

Výhoda chyby indexu Excel mimo rozsahu vo VBA

  • Odpis VBA mimo rozsahu chyba alebo " Chyba v čase behu 9 " je skutočne užitočná pri špecifikácii pozície chyby, kde sa vyskytla v VBA kód.
  • Táto chyba pomáha používateľom zistiť typ chyby, aby mohli skontrolovať a nájsť riešenia podľa kódu chyby.

Čo si treba zapamätať

  • Keďže táto chyba kompiluje každý krok kódu, aby nás presne nasmerovala, pre ktorú časť kódu musíme skutočne vykonať akcie, preto je lepšie kompilovať každý riadok kódu postupne stlačením F8 ak máte veľký riadok kódu.

Záver

Tento článok vám ukázal dôvody a riešenia aplikácie Excel Odpis mimo rozsahu chyba v VBA. Dúfam, že tento článok bol pre vás veľmi prínosný. Neváhajte a položte akékoľvek otázky týkajúce sa tejto témy.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.