Munkafüzetek | Munkalapok | Sor
Az 'index a tartományon kívül'hiba benne Excel VBA akkor fordul elő, ha egy nem létező gyűjteménytagra vagy egy nem létező tömb elemre hivatkozik.
Helyezzen el egy parancsgombot a munkalapon, és adja hozzá az alábbi kódsorokat. A kódsorok végrehajtásához kattintson a parancsikonra a lapon.
Munkafüzetek
Az Excel VBA munkafüzetgyűjteménye tartalmazza az összes megnyitott munkafüzet -objektumot.
1. Az alábbi kódsor bezárja az értékesítést.xlsm.
Munkafüzetek ("sales.xlsm"). Bezárás
Eredmény, ha nincs nyitott munkafüzet ezzel a névvel:
Megjegyzés: ennek a „tartományon kívüli” indexnek a javításához (futási hiba 9), nyissa meg a sales.xlsm fájlt, mielőtt rákattint a parancsgombra.
Feladatlapok
Az Excel VBA munkalapgyűjteménye tartalmazza a munkafüzet összes munkalap -objektumát. A munkafüzetünk 3 munkalapot tartalmaz.
1. Az alábbi kódsor megpróbálja a Hello szót behelyezni a 4. munkalap A1 cellájába.
Munkalapok (4). Tartomány ("A1"). Érték = "Hello"
Eredmény, ha rákattint a parancsikonra a lapon:
Magyarázat: az „index tartományon kívül” hibaüzenet jelenik meg, mert nincs 4. munkalap. A hiba kijavításához módosítsa a 4 -et 1 -re, 2 -re vagy 3 -ra (vagy illesszen be új munkalapot a pluszjelre kattintva).
Sor
A tömb a változók csoportja. Az Excel VBA -ban a tömb adott változójára (elemére) hivatkozhat a tömbnév és az indexszám használatával.
1. Az alábbi első kódsor egy String tömböt deklarál Films névvel. A tömb öt elemből áll.
2. Ezután inicializáljuk a tömb minden elemét.
3. Az utolsó kódsor megpróbálja megjeleníteni a 6. elemet egy MsgBox használatával.
Dim filmek (1 -től 5 -ig) karakterláncként
Filmek (1) = "A Gyűrűk Ura"
Filmek (2) = "Sebesség"
Filmek (3) = "Star Wars"
Filmek (4) = "A keresztapa"
Filmek (5) = "Pulp Fiction"
MsgBox filmek (6)
Eredmény, ha rákattint a parancsikonra a lapon:
Magyarázat: az "index tartományon kívül" hibaüzenet jelenik meg, mert nincs 6. elem. A hiba kijavításához módosítsa a 6 -ot 1, 2, 3, 4 vagy 5 -re (vagy deklarálja a 6 elemből álló karakterlánc -tömböt).