Greška u Excelu izvan dometa u VBA (sa 5 rješenja)

  • Podijeli Ovo
Hugh West

U ovom članku ćemo vam pokazati razloge za greš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.

Greška podskripta izvan dometa u VBA.xlsm

Šta je greška indeksa van dometa u VBA?

VBA subscript izvan opsega greška se javlja kada pokušamo pristupiti bilo kojem nepostojećem članu ili nepostojećoj kolekciji niza u Excelu. Ovo je " Run-Time Error 9 " tip greške u VBA kodiranju u Excelu.

Greška obično izgleda ovako,

5 razloga sa rješenjima greške indeksnog indeksa izvan opsega u VBA

Ovaj odjeljak će raspravljati o 5 najčešćih razloga za pojavu Greška indeksa izvan opsega i koja su rješenja za nju.

1. Greška indeksa van dometa u VBA za nepostojeću radnu svesku

Kada pokušate da pristupite Excel radnoj svesci koja nije otvorena, dobićete grešku “ Subscript van opsega ”.

Ako pokušamo Pokrenuti kod prikazan gore, dobit ćemo grešku jer ne postoji Excel radna knjiga pod nazivom “ Sales ” koja je trenutno otvorena.

Rješenje

Da biste riješili ovu grešku, prvo otvorite Excel radnu knjigu kojoj želite pristupiti, a zatim pokrenite makro.

2. Greška ispod dometa u VBA za nepostojećeRadni list

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

Ako pokušamo da pokrenemo kod prikazan gore, dobićemo grešku jer ne postoji “ Sheet2 ” radni list dostupan u našoj radnoj knjizi.

Rješenje

Da biste riješili ovu grešku, morate imati Excel list kojem želite pristupiti u radnoj knjizi koja radi i zatim pokrenite makro.

3. Greška indeksa izvan opsega u VBA za nedefinirane elemente niza

Ako ne definirate dužinu dinamičkog niza pomoću riječ DIM ili REDIM u Excelu VBA , tada ćete dobiti grešku “ Subscript out of range ”.

U gornjem kodu smo deklarirali niz u dimenziji od 5 do 10, ali smo se pozvali na indeks indeksa 3, koji je manji od 5.

Rješenje

Da biste ovo riješili, deklarirajte indeks između dimenzije niza.

Ovaj dio e koda radi savršeno dobro jer se ovdje pozivamo na indeks indeksa 5, koji se nalazi unutar raspona od 5 do 10.

4. Greška ispod dometa u VBA za nevažeću kolekciju/ Niz

Kada je indeks veći ili manji od raspona mogućeg indeksa, tada će se pojaviti greška Subscript izvan raspona .

Pogledajte gornji primjer, mideklarirali varijablu kao niz, ali umjesto dodjeljivanja početne i krajnje točke, mi smo direktno dodijelili prvi niz s vrijednošću 20.

Rješenje

Za riješimo ovaj problem, moramo dodijeliti dužinu niza sa početnom i završnom tačkom.

Ovaj kod ne daje nikakvu grešku jer smo sada deklarirali niz sa početnom tačkom 1 i završnom tačkom 5.

5. Greška ispod dometa u VBA za stenografsku skriptu

Ako koristite stenografiju iz subscript i odnosi se na nevažeći element onda ćete dobiti grešku “ Subscript out of range ” u Excelu VBA . Na primjer, [A2] je skraćenica za ActiveSheet.Range(A2) .

Rješenje

Za popravak ovo, morate koristiti važeće ime ključa i index za kolekciju. Umjesto da pišete ActiveSheet.Range(A2) , možete samo napisati [ A2 ].

Prednost Excelove greške izvan opsega u VBA

  • VBA indeks van opsega greška ili “ Run-Time Error 9 ” je zaista koristan u određivanju pozicije greške na kojoj se dogodila u VBA kodu.
  • Ova greška pomaže korisnicima da pronađu vrstu greške kako bi mogli provjeriti i pronaći rješenja prema kodu greške.

Stvari koje treba zapamtiti

  • Kako ova greška kompajlira svaki korak koda kako bi nas usmjerila tačno koji diokod za koji zapravo treba da preduzmemo radnje, tako da je bolje kompajlirati svaki red koda jedan po jedan pritiskom na tipku F8 ako imate veliki red koda.

Zaključak

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

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.