Pogreška Excel indeksa izvan raspona u VBA (s 5 rješenja)

  • Podijeli Ovo
Hugh West

U ovom ćemo vam članku pokazati razloge za pogrešku " Subscript out of Range " u programu Excel VBA i kako ih riješiti.

Preuzmite predložak za vježbu

Ovdje možete preuzeti besplatni Excel predložak za vježbu.

Pogreška indeksa izvan raspona u VBA.xlsm

Što je pogreška indeksa izvan raspona u VBA? Pogreška

VBA indeks izvan raspona javlja se kada pokušamo pristupiti bilo kojem nepostojećem članu ili nepostojećoj zbirci polja u Excelu. Ovo je vrsta pogreške " Run-Time Error 9 " u VBA kodiranju u Excelu.

Pogreška obično izgleda ovako,

5 razloga s rješenjima za pogrešku indeksa izvan raspona u VBA

Ovaj odjeljak govori o 5 najčešćih razloga za pojavu Pogreška indeksa izvan raspona i koja su rješenja za nju.

1. Pogreška indeksa izvan raspona u VBA za nepostojeću radnu knjigu

Kada pokušate pristupiti Excel radnoj knjizi koja nije otvorena, dobit ćete pogrešku " Indeks izvan raspona ".

Ako pokušamo pokrenuti gore prikazani kod, dobit ćemo pogrešku jer ne postoji Excel radna knjiga pod nazivom “ Sales ” koji je trenutno otvoren.

Rješenje

Da biste riješili ovu pogrešku, prvo otvorite Excel radnu knjigu kojoj želite pristupiti, a zatim Run makronaredba.

2. Pogreška indeksa izvan raspona u VBA za nepostojećeRadni list

Kada pokušate pristupiti radnom listu koji ne postoji u Excel radnoj knjizi tada ćete također dobiti pogrešku “ Subscript out of range ” u VBA .

Ako pokušamo pokrenuti gore prikazani kod, dobit ćemo pogrešku jer ne postoji “ Sheet2 ” radni list dostupan u našoj radnoj knjizi.

Rješenje

Da biste riješili ovu pogrešku, morate imati Excel list kojem želite pristupiti u pokrenutoj radnoj knjizi i zatim pokrenite makronaredbu.

3. Pogreška indeksa izvan raspona u VBA za nedefinirane elemente niza

Ako ne definirate duljinu dinamičkog niza s riječi DIM ili REDIM u programu Excel VBA , tada ćete dobiti pogrešku “ Subscript out of range ”.

U gornjem kodu, deklarirali smo niz u dimenziji od 5 do 10, ali smo se referirali na indeks indeksa 3, koji je niži od 5.

Rješenje

Da biste to riješili, deklarirajte indeks između dimenzije polja.

Ovaj komad Koda radi savršeno dobro jer smo se ovdje pozvali na indeks indeksa 5, koji je unutar raspona od 5 do 10.

4. Pogreška indeksa izvan raspona u VBA-u zbog nevažeće zbirke/ Niz

Kada je indeks veći ili manji od raspona mogućih indeksa, pojavit će se pogreška Indeks izvan raspona .

Pogledajte gornji primjer, mideklarirali smo varijablu kao niz, ali umjesto dodjele početne i završne točke, izravno smo prvom nizu dodijelili vrijednost 20.

Rješenje

Za riješite ovaj problem, moramo dodijeliti duljinu niza s početnom i završnom točkom.

Ovaj kod ne daje nikakvu pogrešku jer smo sada deklarirali niz s početnom točkom 1 i završnom točkom 5.

5. Pogreška indeksa izvan raspona u VBA za stenografski skript

Ako koristite stenografiju iz indeks i odnosi se na nevažeći element, dobit ćete pogrešku “ Indeks izvan raspona ” u programu Excel VBA . Na primjer, [A2] je skraćenica za ActiveSheet.Range(A2) .

Rješenje

Za popravak ovo, morate koristiti valjani naziv ključa i indeks za kolekciju. Umjesto da pišete ActiveSheet.Range(A2) , možete samo pisati [ A2 ].

Prednost pogreške Excel Inscript Out of Range u VBA

  • VBA indeks izvan raspona pogreška ili “ Run-Time Error 9 ” stvarno je koristan u određivanju položaja pogreške gdje se pojavila u VBA kodu.
  • Ova pogreška pomaže korisnicima da pronađu vrstu pogreške kako bi mogli provjeriti i pronaći rješenja prema kodu pogreške.

Stvari koje treba zapamtiti

  • Budući da ova pogreška kompilira svaki korak koda kako bi nas točno uputila koji diokod za koji zapravo trebamo poduzeti radnje, stoga je bolje kompajlirati svaku liniju koda jednu po jednu pritiskom na tipku F8 ako imate veliku liniju koda.

Zaključak

Ovaj vam je članak pokazao razloge i rješenja pogreške Excel Subscript out of range u VBA. Nadam se da vam je ovaj članak bio od velike koristi. Slobodno postavite sva pitanja u vezi s temom.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.