Excel Subscript tartományon kívüli hiba a VBA-ban (5 megoldással)

  • Ossza Meg Ezt
Hugh West

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.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.