Obsah
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.