Hogyan lehet kijavítani a Visual Basic for Applications „Alaptartományon kívüli” hibáját?



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

A Visual Basic for Applications (VBA) a Visual Basic programozási nyelv implementációja, amelyet a Microsoft fejlesztett ki. A VBA használható az UDF-ek engedélyezésére, a feladatok automatizálására és a WinAPI elérésére DLL-ek segítségével. A közelmúltban azonban sok olyan jelentés érkezett, amelyekben a felhasználók nem képesek végrehajtani bizonyos parancsokat, és Al index tartományon kívül, 9. hiba - Megugrik, miközben megpróbálja.



Aláírás tartományon kívüli hiba



Mi okozza az „Alaptartomány tartományon kívüli” hibát a VBA-ban?

Miután több felhasználótól számos jelentést kaptunk, úgy döntöttünk, hogy kivizsgáljuk a problémát, és kidolgoztunk egy sor megoldást a probléma teljes megoldására. Ezenkívül megvizsgáltuk az okokat, amelyek miatt kiváltotta, és az alábbiak szerint soroltuk fel őket.



  • Nem létező elem: Bizonyos esetekben előfordulhat, hogy a parancsban hivatkozott egy elemre, amely nem létezik. Lehetséges, hogy az al index nagyobb vagy kisebb, mint a lehetséges előfizetők tartománya, vagy előfordulhat, hogy az alkalmazás ezen a pontján nem rendelték hozzá a tömböt.
  • Meghatározatlan elemek: Lehetséges, hogy nem azonosította a kódban szereplő elemek számát, fontos, hogy a tömbben található elemek számát a „Dim” vagy a „ReDim” parancsokkal határozzuk meg.
  • Helytelen gyűjteménytag: Bizonyos esetekben előfordulhat, hogy a felhasználó egy nem létező gyűjteménytagra hivatkozott. Ha helytelen hivatkozás történik a gyűjteménytag felé, akkor ez a hiba kiváltható.
  • Gyorsírás szkript: Előfordulhat, hogy az alirend rövidített formáját használta, és az implicit módon érvénytelen elemet adott meg. Fontos, hogy érvényes kulcsnevet használjon.

Most, hogy alaposan megértette a probléma természetét, továbblépünk a megoldások felé. Ügyeljen arra, hogy ezeket a bemutatásuk sorrendjében hajtsa végre a konfliktusok elkerülése érdekében.

1. megoldás: tömbök ellenőrzése

Lehetséges, hogy helytelen értéket adott meg az Array elemnél. Ezért javasoljuk, hogy ellenőrizze még egyszer az Array elemre megadott értéket, és győződjön meg arról, hogy ez a helyes. Ellenőrizze továbbá a tömb deklarációját és igazolja a felső és az alsó határt. Ha a tömböket átméretezték, ne felejtse el használni a Kötve és UBound funkciók a hozzáférések kondicionálásához. Ellenőrizze a Változó név helyesírását, ha az index változó.

Tömb a VBA Excel-ben



2. megoldás: Az elemek számának meghatározása

Bizonyos esetekben előfordulhat, hogy nem definiálta a kódban szereplő elemek számát, amelyek miatt a hibát kiváltja. Javasoljuk, hogy a tömbben adja meg az elemek számát a Egyik sem vagy ReDim funkciókat.

A Dim és a ReDim segítségével adja meg az elemek számát

3. megoldás: A konstrukció módosítása

Ez a hiba általában akkor jelentkezik, amikor a felhasználó helytelen vagy nem létező gyűjteménytagot ad meg. Ezért az index elemek megadása helyett javasoljuk, hogy az „ Mindegyikért ... Következő ”Konstrukció.

A „Minden… következő” konstrukció használata

4. megoldás: A kulcsnév és az index ellenőrzése

Bizonyos esetekben előfordulhat, hogy az alsó index rövidített formáját használta, és ez érvénytelen elemet határoz meg. Ezért ajánlott a érvényes kulcs név és index a gyűjteményhez.

Érvényes kulcsnév használata

2 perc olvasás