Chyba indexu Excelu mimo rozsah ve VBA (s 5 řešeními)

  • Sdílet Toto
Hugh West

V tomto článku vám ukážeme důvody pro " Index mimo rozsah " chyba v aplikaci Excel VBA a jak je vyřešit.

Stáhnout šablonu pro praxi

Bezplatnou cvičnou šablonu Excel si můžete stáhnout zde.

Chyba indexu mimo rozsah ve VBA.xlsm

Co je chyba indexu mimo rozsah ve VBA?

Odsazení VBA mimo rozsah chyba nastane, když se pokusíme přistoupit k neexistujícímu členu nebo neexistující kolekci polí v Excelu. Jedná se o " Chyba v čase běhu 9 " typ chyby v VBA kódování v aplikaci Excel.

Chyba obvykle vypadá takto,

5 důvodů a řešení chyby indexu mimo rozsah ve VBA

V této části se budeme zabývat pěti nejčastějšími příčinami výskytu Odsazený index mimo rozsah a jaká jsou její řešení.

1. Chyba indexu mimo rozsah ve VBA pro neexistující sešit

Při pokusu o přístup k sešitu aplikace Excel, který není otevřen, se zobrazí hlášení " Odsazený index mimo rozsah " chyba.

Pokud se pokusíme Spustit výše uvedený kód, dojde k chybě, protože neexistuje žádný sešit Excelu s názvem " Prodej ", která je v současné době otevřená.

Řešení

Chcete-li tuto chybu vyřešit, otevřete nejprve sešit aplikace Excel, ke kterému chcete získat přístup, a poté spusťte makro.

2. Chyba indexu mimo rozsah ve VBA pro neexistující pracovní list

Při pokusu o přístup k listu, který v sešitu aplikace Excel neexistuje, se také zobrazí hlášení " Odsazený index mimo rozsah " chyba v VBA .

Pokud se pokusíme spustit výše uvedený kód, dojde k chybě, protože neexistuje žádný " List2 " pracovní list, který je k dispozici v našem pracovním sešitě.

Řešení

Chcete-li tuto chybu vyřešit, musíte mít list aplikace Excel, ke kterému chcete získat přístup, ve spuštěném sešitu a poté spustit makro.

3. Chyba indexu mimo rozsah ve VBA pro nedefinované prvky pole

Pokud nedefinujete délku dynamického pole slovem DIM nebo REDIM v aplikaci Excel VBA , pak se zobrazí " Index mimo rozsah " chyba.

Ve výše uvedeném kódu jsme deklarovali pole v rozměru 5 až 10, ale odkazovali jsme na index 3, který je nižší než 5.

Řešení

Tento problém vyřešíte tak, že deklarujete index mezi rozměry pole.

Tato část kódu funguje naprosto správně, protože jsme se zde odvolali na index 5, který je uvnitř rozsahu 5 až 10.

4. Chyba indexu mimo rozsah ve VBA pro neplatnou kolekci/ pole

Pokud je dílčí index větší nebo menší než rozsah možných dílčích indexů, pak se Odsazený index mimo rozsah dojde k chybě.

Podívejte se na výše uvedený příklad, deklarovali jsme proměnnou jako pole, ale místo přiřazení počátečního a koncového bodu jsme přímo přiřadili první pole s hodnotou 20.

Řešení

Abychom tento problém vyřešili, musíme přiřadit délku pole s počátečním a koncovým bodem.

Tento kód nevyvolá žádnou chybu, protože jsme nyní deklarovali pole s počátečním bodem 1 a koncovým bodem 5.

5. Chyba indexu mimo rozsah ve VBA pro těsnopisný skript

Pokud použijete zkratku z indexu a ta odkazuje na neplatný prvek, zobrazí se hlášení " Odsazený index mimo rozsah " chyba v aplikaci Excel VBA Například, [A2] je zkratka pro ActiveSheet.Range(A2) .

Řešení

Chcete-li to opravit, musíte použít platný název klíče a index pro sbírku. Místo zápisu ActiveSheet.Range(A2) , stačí napsat [ A2 ].

Výhoda chyby indexu Excelu mimo rozsah ve VBA

  • Odsazení VBA mimo rozsah chyba nebo " Chyba v čase běhu 9 " je skutečně užitečné při určování pozice chyby, kde se vyskytla. VBA kód.
  • Tato chyba pomáhá uživatelům zjistit typ chyby, aby ji mohli zkontrolovat a najít řešení podle kódu chyby.

Na co nezapomenout

  • Protože tato chyba kompiluje každý krok kódu, aby nás přesně nasměrovala, pro kterou část kódu je vlastně třeba provést akce, je lepší kompilovat každý řádek kódu postupně stisknutím tlačítka F8 pokud máte velký řádek kódu.

Závěr

Tento článek vám ukázal důvody a řešení aplikace Excel. Odsazený index mimo rozsah chyba v VBA. Doufám, že pro vás byl tento článek velmi přínosný. Neváhejte se zeptat na jakékoli otázky týkající se tohoto tématu.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.