Excel Subscript Out of Range Error i VBA (med 5 løsninger)

  • Dele Denne
Hugh West

I denne artikkelen vil vi vise deg årsakene til « Subscript out of Range »-feilen i Excel VBA og hvordan du løser disse.

Last ned øvingsmal

Du kan laste ned den gratis øvelsesmalen for Excel herfra.

Subscript Out of Range Error in VBA.xlsm

Hva er Subscript Out of Range Error i VBA?

VBA Subscript out of range feil oppstår når vi prøver å få tilgang til et ikke-eksisterende medlem eller ikke-eksisterende matrisesamling i Excel. Dette er en " Run-Time Error 9 " type feil i VBA -koding i Excel.

Feilen ser vanligvis slik ut,

5 grunner med løsninger for Subscript Out of Range Error i VBA

Denne delen vil diskutere de 5 vanligste årsakene til forekomsten av Subscript out of range -feil og hva er løsningene på den.

1. Subscript Out of Range Error i VBA for ikke-eksisterende arbeidsbok

Når du prøver å få tilgang til en Excel-arbeidsbok som ikke er åpen, vil du få en « Subscript utenfor rekkevidde »-feil.

Hvis vi prøver å Kjøre koden vist ovenfor, får vi feilen fordi det ikke er noen Excel-arbeidsbok kalt " Sales » som er åpen for øyeblikket.

Løsning

For å løse denne feilen, åpne først Excel-arbeidsboken du vil ha tilgang til og deretter Kjør makroen.

2. Subscript Out of Range Error i VBA for ikke-eksisterendeRegneark

Når du prøver å få tilgang til et regneark som ikke finnes i Excel-arbeidsboken, vil du også få feilen « Subscript out of range » i VBA .

Hvis vi prøver å kjøre koden vist ovenfor, får vi feilen fordi det ikke er noen " Ark2 ”-regnearket tilgjengelig i arbeidsboken vår.

Løsning

For å løse denne feilen må du ha Excel-arket du vil ha tilgang til i den kjørende arbeidsboken og Kjør deretter makroen.

3. Subscript Out of Range Error i VBA for Undefined Array Elements

Hvis du ikke definerer lengden på en dynamisk matrise med ord DIM eller REDIM i Excel VBA , så får du feilen " Subscript out of range ".

I koden ovenfor erklærte vi Array i dimensjonen fra 5 til 10, men refererte til et subskript av indeks 3, som er lavere enn 5.

Løsning

For å løse dette, deklarer indeksen mellom Array-dimensjonen.

Dette stykket e av kode fungerer helt greit fordi vi her refererte til subscriptet til indeksen 5, som er innenfor området 5 til 10.

4. Subscript Out of Range Error i VBA for Invalid Collection/ Array

Når subscriptet er større eller mindre enn rekkevidden av mulig subscript, vil feilen Subscript out of range oppstå.

Se på eksemplet ovenfor, vierklærte variabelen som en matrise, men i stedet for å tilordne et start- og sluttpunkt, har vi direkte tilordnet den første matrisen med verdien 20.

Løsning

Til fikse dette problemet, vi må tilordne lengden på matrisen med et start- og sluttpunkt.

Denne koden gir ingen feil fordi vi nå har erklært matrisen med et startpunkt på 1 og et sluttpunkt på 5.

5. Subscript Out of Range Error i VBA for Shorthand Script

Hvis du bruker en stenografi fra en subscript og det refererer til et ugyldig element, vil du få " Subscript out of range "-feilen i Excel VBA . For eksempel er [A2] forkortelsen for ActiveSheet.Range(A2) .

Løsning

For å fikse Dette må du bruke et gyldig nøkkelnavn og indeks for samlingen. I stedet for å skrive ActiveSheet.Range(A2) , kan du bare skrive [ A2 ].

Fordel med Excel Subscript Out of Range Error i VBA

  • VBA Subscript out of range -feil eller « Run-Time Error 9 » er veldig nyttig for å spesifisere posisjonen til feilen der den oppstod i VBA -koden.
  • Denne feilen hjelper brukere med å finne feiltypen slik at de kan sjekke og finne løsningene i henhold til feilkoden.

Ting å huske

  • Denne feilen kompilerer hvert trinn i koden for å lede oss nøyaktig hvilken del avkoden vi faktisk trenger å iverksette tiltak for, så det er bedre å kompilere hver kodelinje én etter én ved å trykke F8 -tasten hvis du har en stor kodelinje.

Konklusjon

Denne artikkelen viste deg årsakene og løsningene til Excel Subscript utenfor rekkevidde -feilen i VBA. Jeg håper denne artikkelen har vært veldig nyttig for deg. Still gjerne spørsmål angående emnet.

Hugh West er en svært erfaren Excel-trener og analytiker med over 10 års erfaring i bransjen. Han har en bachelorgrad i regnskap og finans og en mastergrad i bedriftsøkonomi. Hugh har en lidenskap for undervisning og har utviklet en unik undervisningstilnærming som er enkel å følge og forstå. Hans ekspertkunnskap om Excel har hjulpet tusenvis av studenter og fagfolk over hele verden med å forbedre sine ferdigheter og utmerke seg i karrieren. Gjennom bloggen sin deler Hugh sin kunnskap med verden, og tilbyr gratis Excel-opplæringer og nettbasert opplæring for å hjelpe enkeltpersoner og bedrifter å nå sitt fulle potensial.