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