Visual Basic for Applications (VBA) je implementácia programovacieho jazyka Visual Basic vyvinutého spoločnosťou Microsoft. VBA možno použiť na povolenie UDF, automatizáciu úloh a na prístup k WinAPI prostredníctvom DLL. Avšak pomerne nedávno prichádza veľa správ, v ktorých používatelia nie sú schopní vykonať určité príkazy a Dolný index mimo rozsahu, chyba 9 ”Vyskočí pri pokuse o to.
Chyba indexu mimo rozsah
Čo spôsobuje chybu „Dolný index mimo rozsah“ vo VBA?
Po prijatí mnohých správ od viacerých používateľov sme sa rozhodli problém preskúmať a navrhli sme súbor riešení, ktoré ho majú úplne vyriešiť. Pozreli sme sa tiež na dôvody, pre ktoré sa spúšťa, a uviedli sme ich nasledovne.
- Neexistujúci prvok: V niektorých prípadoch je možné, že ste v príkaze odkázali na neexistujúci prvok. Je možné, že dolný index je buď väčší, alebo menší, ako by rozsah možných dolných indexov alebo dimenzií nemusel byť matici v tomto bode aplikácie priradený.
- Nedefinované prvky: Je možné, že ste neidentifikovali počet prvkov v kóde. Je dôležité, aby ste počet prvkov v poli definovali pomocou príkazov „Dim“ alebo „ReDim“.
- Nesprávny člen zbierky: V niektorých prípadoch mohol používateľ odkazovať na člena zbierky, ktorý neexistuje. Ak dôjde k nesprávnemu odkazu na člena zbierky, môže sa vyskytnúť táto chyba.
- Skratka pre skratku: Je možné, že ste použili skratkovú formu dolného indexu a implicitne určili neplatný prvok. Je dôležité používať platný názov kľúča.
Teraz, keď máte základné znalosti o podstate problému, prejdeme k riešeniam. Nezabudnite ich implementovať v konkrétnom poradí, v akom sú predložené, aby ste sa vyhli konfliktom.
Riešenie 1: Kontrola polí
Je možné, že ste pre prvok Array definovali nesprávnu hodnotu. Preto sa odporúča dvakrát skontrolovať hodnotu, ktorú ste definovali pre prvok Array, a ubezpečiť sa, že je správna. Nezabudnite tiež skontrolovať deklaráciu poľa a overiť horná a dolná hranica. Ak boli polia zmenšené, nezabudnite použiť LBound a UBound funkcie na podmienenie prístupov. Ak je indexom premenná, skontrolujte pravopis názvu premennej.
Pole vo formáte VBA Excel
Riešenie 2: Zadanie počtu prvkov
V niektorých prípadoch je možné, že ste vo svojom kóde nemuseli definovať počet prvkov, kvôli ktorým sa chyba spúšťa. Odporúča sa určiť počet prvkov v poli pomocou Žiadne alebo ReDim funkcie.
Pomocou Dim a ReDim môžete určiť počet prvkov
Riešenie 3: Zmena konštrukcie
Táto chyba sa bežne spúšťa, keď používateľ zadá nesprávneho alebo neexistujúceho člena kolekcie. Preto sa namiesto určenia indexových prvkov odporúča pristupovať k „ Za každú ... Ďalej ”Konštrukt.
Pomocou konštrukcie „Pre každého ... Ďalej“
Riešenie 4: Kontrola názvu a indexu kľúča
V niektorých prípadoch je možné, že ste mohli použiť skratkovú formu dolného indexu, ktorá určuje neplatný prvok. Preto sa odporúča používať a platný kľúč názov a index za zbierku.
Používanie platného názvu kľúča
2 minúty prečítané