Tartalomjegyzék
Ebben a cikkben megmutatjuk, hogy mi az oka a " Tartományon kívüli index " hiba az Excelben VBA és hogyan lehet ezeket megoldani.
Gyakorlat sablon letöltése
Az ingyenes gyakorló Excel-sablont innen töltheti le.
Tartományon kívüli index hiba a VBA.xlsm-ben
Mi a tartományon kívüli alulírás hiba a VBA-ban?
VBA Subscript tartományon kívül hiba lép fel, amikor megpróbálunk hozzáférni az Excelben egy nem létező taghoz vagy egy nem létező tömbgyűjteményhez. Ez egy " Futtatási hiba 9 " típusú hiba a VBA kódolás Excelben.
A hiba általában így néz ki,
5 okok és megoldások a tartományon kívüli indexek hibájának VBA-ban történő megoldására
Ez a szakasz az 5 leggyakoribb okot tárgyalja, ami miatt a Tartományon kívüli index hiba és milyen megoldások vannak rá.
1. Tartományon kívüli indexek hibája a VBA-ban nem létező munkafüzet esetében
Ha megpróbál hozzáférni egy nem nyitott Excel-munkafüzethez, akkor egy " Tartományon kívüli index " hiba.
Ha megpróbáljuk Fuss a fenti kódot, hibaüzenetet kapunk, mert nincs olyan Excel munkafüzet, amelynek neve " Értékesítés ", amely jelenleg nyitva van.
Megoldás
A hiba elhárításához először nyissa meg az Excel-munkafüzetet, amelyhez hozzá szeretne férni, majd futtassa a makrót.
2. Tartományon kívüli indexek hibája a VBA-ban nem létező munkalap esetében
Ha olyan munkalaphoz próbál hozzáférni, amely nem létezik az Excel-munkalapban, akkor a " Tartományon kívüli index " hiba a VBA .
Ha megpróbáljuk futtatni a fenti kódot, hibát kapunk, mert nincs " Sheet2 " munkalap, amely a munkafüzetünkben található.
Megoldás
A hiba megoldásához a futó munkafüzetben kell lennie annak az Excel-táblának, amelyhez hozzá szeretne férni, majd futtassa a makrót.
3. Tartományon kívüli index hiba a VBA-ban a definiálatlan tömbelemeknél
Ha nem határozza meg a dinamikus tömb hosszát a DIM vagy REDIM Excelben VBA , akkor megkapja a " Tartományon kívüli index " hiba.
A fenti kódban az Array-t az 5-től 10-ig terjedő dimenzióban deklaráltuk, de a 3 indexű indexre hivatkoztunk, ami alacsonyabb, mint az 5 index.
Megoldás
Ennek megoldásához deklarálja az indexet az Array dimenzió között.
Ez a kódrészlet tökéletesen működik, mert itt az 5-ös index indexű indexre hivatkoztunk, amely az 5 és 10 közötti tartományon belül van.
4. Tartományon kívüli index hiba a VBA-ban érvénytelen gyűjtemény/tömb esetén
Ha az index nagyobb vagy kisebb, mint a lehetséges indexek tartománya, akkor a Tartományon kívüli index hiba lép fel.
Nézzük meg a fenti példát, a változót tömbként deklaráltuk, de ahelyett, hogy egy kezdő- és egy végpontot adtunk volna meg, közvetlenül az első tömbhöz rendeltük hozzá a 20-as értéket.
Megoldás
A probléma megoldásához a tömb hosszát egy kezdő- és egy végponttal kell megadnunk.
Ez a kód nem ad hibát, mert most már deklaráltuk az Array-t 1 kezdőponttal és 5 végponttal.
5. Tartományon kívüli alulírás hiba a VBA for Shorthand Script-ben
Ha egy rövidítést használsz egy alárendelésből, és az egy érvénytelen elemre utal, akkor a " Tartományon kívüli index " hiba az Excelben VBA Például, [A2] a következő rövidítése ActiveSheet.Range(A2) .
Megoldás
Ennek kijavításához egy érvényes kulcsnév és index a gyűjteményhez. Ahelyett, hogy a ActiveSheet.Range(A2) , akkor csak írja [ A2 ].
Az Excel Subscript Out of Range hiba előnye a VBA-ban
- VBA Subscript tartományon kívül hiba vagy " Futtatási hiba 9 " valóban hasznos a hiba helyének megadásában, ahol a hiba a VBA kód.
- Ez a hiba segít a felhasználóknak megtalálni a hiba típusát, így ellenőrizhetik és megtalálhatják a hibakódnak megfelelő megoldásokat.
Emlékezetes dolgok
- Mivel ez a hiba a kód minden egyes lépését lefordítja, hogy pontosan megmondja nekünk, hogy a kód mely részével kapcsolatban kell ténylegesen lépéseket tennünk, ezért jobb, ha a kód minden egyes sorát egyenként fordítjuk le a F8 billentyűvel, ha egy hatalmas kódsorod van.
Következtetés
Ez a cikk megmutatta az Excel okait és megoldásait Tartományon kívüli index hiba a VBA. Remélem, hogy ez a cikk nagyon hasznos volt az Ön számára. Nyugodtan tegye fel kérdéseit a témával kapcsolatban.