Ako opraviť chybu „Dolný index mimo rozsah“ v jazyku Visual Basic pre aplikácie?



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

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é