Visual Basic for Applications (VBA) je implementace programovacího jazyka Visual Basic vyvinutého společností Microsoft. VBA lze použít pro povolení UDF, automatizaci úkolů a pro přístup k WinAPI prostřednictvím DLL. Poměrně nedávno však přichází spousta zpráv, kde uživatelé nemohou provádět určité příkazy a „ Dolní index mimo rozsah, chyba 9 “Vyskočí, zatímco se o to snaží.
Chyba indexu mimo rozsah
Co způsobuje chybu „Dolní index mimo rozsah“ ve VBA?
Po obdržení mnoha zpráv od více uživatelů jsme se rozhodli problém prozkoumat a vymysleli jsme sadu řešení, jak jej úplně opravit. Podívali jsme se také na důvody, kvůli kterým se spouští, a uvedli jsme je následovně.
- Neexistující prvek: V některých případech je možné, že jste v příkazu odkazovali na neexistující prvek. Je možné, že dolní index je buď větší, nebo menší než rozsah možných dolních indexů nebo dimenzí, které v tomto okamžiku v aplikaci nemuseli být matici přiřazeny.
- Nedefinované prvky: Je možné, že jste neidentifikovali počet prvků v kódu, je důležité, aby byl počet prvků v poli definován pomocí příkazů „Dim“ nebo „ReDim“.
- Nesprávný člen sbírky: V některých případech mohl uživatel odkazovat na člena kolekce, který neexistuje. Pokud je proveden nesprávný odkaz na člena kolekce, může být spuštěna tato chyba.
- Zkratka: Je možné, že jste použili zkratkovou formu dolního indexu a implicitně zadali neplatný prvek. Je důležité použít platný název klíče.
Nyní, když máte základní znalosti o povaze problému, přejdeme k řešení. Nezapomeňte je implementovat v konkrétním pořadí, v jakém jsou uvedeny, aby nedocházelo ke konfliktům.
Řešení 1: Kontrola polí
Je možné, že jste pro prvek Array definovali nesprávnou hodnotu. Proto se doporučuje znovu zkontrolovat hodnotu, kterou jste definovali pro prvek Array, a ujistit se, že je správná. Nezapomeňte také zkontrolovat deklaraci pole a ověřit horní a dolní mez. Pokud byla pole redimensioned, ujistěte se, že používáte LBound a UBound funkce pro podmínku přístupu. Pokud je index proměnnou, zkontrolujte pravopis názvu proměnné.
Pole ve VBA Excel
Řešení 2: Zadání počtu prvků
V některých případech je možné, že jste ve svém kódu nemuseli definovat počet prvků, kvůli kterým se chyba spouští. Doporučuje se zadat počet prvků v poli pomocí Žádný nebo ReDim funkce.
Pomocí Dim a ReDim určete počet prvků
Řešení 3: Změna konstrukce
Tato chyba se běžně aktivuje, když uživatel zadá nesprávného nebo neexistujícího člena kolekce. Proto se místo zadání indexových prvků doporučuje přistupovat pomocí „ Pro každého… další “Konstrukt.
Pomocí konstrukce „For each… Next“
Řešení 4: Kontrola názvu klíče a indexu
V některých případech je možné, že jste mohli použít zkratkovou formu dolního indexu a určuje neplatný prvek. Proto se doporučuje použít a platný klíč název a index pro sbírku.
Použití platného názvu klíče
2 minuty čtení