Kuinka korjata alaindeksi alueen ulkopuolella -virhe Visual Basic for Applications -sovelluksessa?



Kokeile Instrumenttia Ongelmien Poistamiseksi

Visual Basic for Applications (VBA) on Microsoftin kehittämän Visual Basic -ohjelmointikielen toteutus. VBA: ta voidaan käyttää UDF: ien käyttöönottoon, tehtävien automatisointiin ja WinAPI: n käyttämiseen DLL: ien kautta. Viime aikoina on kuitenkin tullut paljon raportteja, joissa käyttäjät eivät pysty suorittamaan tiettyjä komentoja ja Alaindeksi alueen ulkopuolella, virhe 9 ”Ponnahtaa yrittäessään.

Alaindeksi alueen ulkopuolella



Mikä aiheuttaa VBA: n alaindeksin alueen ulkopuolella -virheen?

Saatuamme useita raportteja useilta käyttäjiltä päätimme tutkia ongelmaa ja kehitimme joukon ratkaisuja sen korjaamiseksi kokonaan. Tutkimme myös syitä, joiden vuoksi se laukaistaan, ja lueteltiin ne seuraavasti.



  • Ei-olemassa oleva elementti: Joissakin tapauksissa on mahdollista, että olet viitannut komennossa olevaan elementtiin, jota ei ole olemassa. On mahdollista, että alaindeksi on joko suurempi tai pienempi kuin mahdollista tilaajien alue tai ulottuvuuksia ei ehkä ole määritetty taulukolle tässä sovelluksen kohdassa.
  • Määrittelemättömät elementit: On mahdollista, että et tunnistanut koodissasi olevien elementtien määrää, on tärkeää, että matriisin elementtien lukumäärä määritetään käyttämällä Dim- tai ReDim-komentoja.
  • Virheellinen kokoelman jäsen: Joissakin tapauksissa käyttäjä on saattanut viitata kokoelman jäseneen, jota ei ole olemassa. Jos keräysjäsenelle viitataan väärin, tämä virhe saattaa laukaista.
  • Lyhytkirjoitus: On mahdollista, että olet käyttänyt lyhenteen muotoista alaindeksiä ja se implisiittisesti määritteli virheellisen elementin. On tärkeää käyttää kelvollista avaimen nimeä.

Nyt kun sinulla on perustiedot ongelman luonteesta, siirrymme kohti ratkaisuja. Varmista, että toteutat ne siinä järjestyksessä, jossa ne esitetään, konfliktien välttämiseksi.

Ratkaisu 1: Taulukoiden tarkistaminen

On mahdollista, että olet määrittänyt Array-elementille väärän arvon. Siksi on suositeltavaa tarkistaa Array-elementille määritetty arvo uudelleen ja varmistaa, että se on oikea. Varmista myös, että tarkistat taulukon ilmoituksen ja tarkista ylä- ja alarajat. Jos taulukot on mitoitettu uudelleen, muista käyttää LSidottu ja UBound toiminnot pääsyn ehdollistamiseksi. Tarkista Muuttujan nimen oikeinkirjoitus, jos hakemisto on muuttuja.

Taulukko VBA Excelissä



Ratkaisu 2: Elementtien määrän määrittäminen

Joissakin tapauksissa on mahdollista, että et ole määrittänyt koodissasi niiden elementtien määrää, joiden vuoksi virhe käynnistetään. On suositeltavaa määrittää taulukon elementtien lukumäärä Ei mitään tai ReDim toimintoja.

Määritä elementtien määrä Dim- ja ReDim-näppäimillä

Ratkaisu 3: Rakenteen muuttaminen

Tämä virhe laukaistaan ​​yleensä, kun käyttäjä määrittää väärän tai olemattoman kokoelman jäsenen. Siksi indeksielementtien määrittelemisen sijaan on suositeltavaa lähestyä ' Jokaiselle… Seuraava ”Rakentaa.

'For Every… Next' -rakenteen käyttäminen

Ratkaisu 4: Avaimenimen ja hakemiston tarkistaminen

Joissakin tapauksissa on mahdollista, että olet käyttänyt alaindeksin lyhytmuotoa ja se määrittää virheellisen elementin. Siksi on suositeltavaa käyttää a kelvollinen avain nimi ja indeksi kokoelmaan.

Käytä kelvollista avaimenimeä

2 minuuttia luettu