Excel VBA -indeksi rajojen ulkopuolella

VBA-alaindeksi, joka on rajojen ulkopuolella tai jota kutsutaan pääsääntöisesti nimellä Run-Time Error 9, tapahtuu, kun valitsemme sellaisen solun, taulukon tai työkirjan, joka ei todellakaan kuulu Excelissä määriteltyyn alueeseen tai kriteereihin. Se on kuin olemme valinneet 100 solun alueen tai sarakkeen ja olemme kutsuneet pois arvot, jotka on tallennettu saman sarakkeen 120 soluun. Mikä tarkoittaa, että menemme alueen ulkopuolelle valitaksesi ja kutsuaksemme arvoja, jotka eivät ole määriteltyjen perusteidemme sisällä. Kun tällainen tilanne tapahtuu, saamme “Run-Time Error 9” -viestin, kun käännät tai ajat koodia. VBA-tilausalueen ulkopuolella oleva virhesanoma opastaa meitä korjaamaan virheen, joka liittyy Excelissä valitsemaamme alueeseen.

Esimerkki Excel VBA -indeksistä, joka on rajojen ulkopuolella

Alla on erilaisia ​​esimerkkejä VBA-alaindeksistä, joka on rajojen ulkopuolella Excelissä.

Voit ladata tämän VBA-tilaustunnuksen rajojen ulkopuolella olevan Excel-mallin täältä - VBA-tilaustunnuksen rajojen ulkopuolella olevan Excel-mallin

VBA-alaindeksi alueen ulkopuolella - esimerkki # 1

Tarkastellaan ensin yksinkertaista esimerkkiä. Tätä varten meidän on siirryttävä VBA-ikkunoihin ja lisättävä uusi moduuli menemällä Aseta-valikon vaihtoehtoon kuten alla.

Saamme valkoisen tyhjän ikkunan moduulista. Tässä meidän on tehtävä koodaustyötä.

Kirjoita nyt suoritetun toiminnon alaluokka, jotta parhaita käytäntöjä varten pidä funktion nimi alaluokassa, kuten teimme täällä VBA-alaindeksin ulkopuolella.

Koodi:

 Sub Subscript_OutOfRange1 () Loppu Sub 

Tässä excel-tilassa meillä on vain yksi arkki, jonka nimi on “Sheet1”, kuten alla on esitetty.

Mutta kirjoitamme koodin valitaksemme arkin, jota ei edes lisätä, ja katsotaan mitä tapahtuu.

Siirry nyt VBA-ikkunaan ja kirjoita Sheets (2) ja seuraa Select-toiminto alla olevan kuvan mukaisesti. Mikä tarkoittaa, että valitsemme 2. sijainnin arkkisekvenssin Valitse-toiminnolla.

Koodi:

 Sub Subscript_OutOfRange1 () Sheets (2) .Valitse End Sub 

Nyt käännä koko koodi tai tee se askel askeleelta tietääksesi mikä koodi on virhe. Koska meillä on vain yksi koodirivi, voimme suorittaa koodin suoraan napsauttamalla valikkopalkin alla olevaa toistopainiketta. Saamme VBA: lle virhesanoman, joka sanoo “ Run-Time error 9, Subscript out of range ” alla olevalla tavalla.

Tämä osoittaa, että yritämme valita arkin, jota ei ole. Jos lisäämme uuden arkin tai muutamme arkkisekvenssin koodissa 2. ja 1. välillä, saatamme saada onnistuneen koodiajon. Lisäämme uuden arkin ja katsotaan mitä tapahtuu.

Suorita nyt koodi uudelleen. Ja koska emme nähneet virheitä, mikä tarkoittaa, että koodimme suorittaa onnistuneen suorituksen.

VBA-alaindeksi alueen ulkopuolella - esimerkki 2

Toisessa esimerkissä näemme jälleen yksinkertaisen koodin laskentataulukon aktivoimiseksi. Tätä varten me kirjoitamme koodin uudelleen. Aloita alaluokan kirjoittaminen suoritetun toiminnon tai muun nimen alla alla olevan kuvan mukaisesti.

Koodi:

 Sub Subscript_OutOfRange2 () Loppu Sub 

Nyt työarkin avulla aktivoidaan Sheet1 alla esitetyllä tavalla.

Koodi:

 Sub Subscript_OutOfRange2 () -taulukot ("Sheet1"). Aktivoi Sub Sub 

Käännä nyt koko koodi ja suorita. Huomaa, että virheviestiä ei ole ponnahdusikkunassa, mikä tarkoittaa, että koodin suorittaminen onnistuu. Laitetaan nyt tila arkin 1 väliin

Käännä ja suorita koodi uudelleen.

Kuten yllä näemme, vaikka täydellinen prosessimme ja tapa kirjoittaa koodi ovat oikeat, mutta olemme ottaneet oikean arkin nimen "Arkki 1". Joka ei todellisuudessa ole väliä "Sheet1" välillä.

Tämä osoittaa, että on edelleen mahdollista saada virhe, jos et kirjoita tai kirjoita oikeaa arkin nimeä tai työkirjan nimeä.

VBA-alaindeksi alueen ulkopuolella - esimerkki 3

Tässä esimerkissä näemme, kuinka väärän taulukkoalueen valitseminen voi luoda ja näyttää ajonaikaisen virheen 9. Aloita alaluokan kirjoittaminen uudelleen suoritetun toiminnon nimellä alla olevan kuvan mukaisesti.

Koodi:

 Sub Subscript_OutOfRange3 () Loppu Sub 

Nyt määrittele DIM: n avulla minkä tahansa kokoinen taulukko ja antaa sen merkkijonolle tai kokonaislukulle. Mikä riippuu siitä, mitä haluamme tallentaa taulukkoon, numeroihin tai tekstiin.

Täällä olemme pitäneet 2 × 3-ryhmää merkkijonona, kuten alla on esitetty.

Koodi:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) merkkijonona loppuosa 

Tällä tavoin se muodostaa taulukon 2 riville ja 3 sarakkeelle ja voimme tallentaa kaikki arvot tarpeidemme mukaan. Koska olemme valinneet merkkijonon, harkitsemme siinä olevaa tekstiä tai aakkosia.

Valitse nyt toisessa koodirivissä luotu taulukko, mutta ylimääräisellä tai useammalla sarakkeella ja määritä teksti ABC: na tai mikä tahansa muu teksti valintasi mukaan. Tässä olemme valinneet taulukon 2 × 5 alla esitetyllä tavalla.

Koodi:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) merkkijonona SubArray (2, 5) = ABC End Sub 

Nyt käännä ja suorita koodi. Kuten alla olevassa kuvakaappauksessa voidaan nähdä, saimme VBA-tilaustunnuksen alueen ulkopuolella olevasta virheviestistä Suoritusaikavirhe 9.

Syy tämän virheen saamiseen johtuu siitä, että olemme valinneet väärän taulukkoalueen 2 lisäsarakkeessa välillä 2 × 3 - 2 × 5, mikä on yli koodin rajan. Nyt jos valitsemme taas oikean ryhmän alueksi 2 × 3 ja katsomme mitä tapahtuu.

Koodin kääntämisen ja suorittamisen jälkeen. Näemme, että emme saaneet virheitä, mikä tarkoittaa, että koodinkäyttömme oli onnistunut.

Plussat Excel VBA -indeksistä ovat rajojen ulkopuolella

  • VBA-tilauksen ulkopuolella oleva alue antaa meille tietää, millaista virhettä on tapahtunut. Joten voimme löytää erityisesti ratkaisun saatuun virhekoodiin.
  • Koska VBA-alaindeksi alueen "Run-time error 9" ulkopuolella on erittäin hyödyllistä tietäessä, millaista virhettä on tapahtunut excelissä.

Muistettavat asiat

  • On suositeltavaa käyttää alaluokkaa suoritetun toiminnon nimessä koodisekvenssillä, jotta sen seuranta olisi helppoa.
  • Tallenna tiedosto makro-käytössä työkirjana välttääksesi kirjoitetun koodin menettämisen.
  • Jos sinulla on valtavia koodiriviä, on parempi kääntää jokainen koodirivi yksitellen painamalla F8-näppäintä. Tämä menetelmä kokoaa jokaisen koodivaiheen, jotta voimme suoraan tietää, missä koodin osassa virhe todella on ensimmäisessä vaiheessa.

Suositellut artikkelit

Tämä on opas Excel VBA -indeksiin, joka on rajojen ulkopuolella. Tässä keskustelimme siitä, miksi VBA-alaindeksi alueen ulkopuolella tapahtuvaa virhettä (ajonaikainen virhe 9) tapahtuu yhdessä joidenkin käytännön esimerkien ja ladattavan excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kuinka korjata: VBA 1004 -virhe?
  2. Excel-virheiden ymmärtäminen
  3. Täydellinen opas VBA-virheestä
  4. IFERROR Excel -toiminnon käyttö

Luokka: