Fel i Excel Subscript Out of Range i VBA (med 5 lösningar)

  • Dela Detta
Hugh West

I den här artikeln kommer vi att visa dig orsakerna till " Index utanför intervallet " fel i Excel VBA och hur man löser dem.

Ladda ner Mall för praxis

Du kan ladda ner den kostnadsfria Excel-mallen för övningar här.

Fel i VBA.xlsm med ett index utanför intervallet.xlsm

Vad är felet Subscript Out of Range i VBA?

VBA Subscript utanför intervallet felet uppstår när vi försöker komma åt en icke-existerande medlem eller en icke-existerande array-samling i Excel. Detta är ett " Fel vid körning 9 " typ av fel i VBA kodning i Excel.

Felet ser vanligtvis ut så här,

5 orsaker och lösningar på felet Subscript Out of Range i VBA

I det här avsnittet diskuteras de fem vanligaste orsakerna till att det uppstår en Index utanför intervallet felet och vilka lösningar som finns på det.

1. Subscript Out of Range Error i VBA för obefintlig arbetsbok

När du försöker komma åt en Excel-arbetsbok som inte är öppen får du en " Index utanför intervallet " fel.

Om vi försöker Kör koden som visas ovan får vi felet eftersom det inte finns någon Excel-arbetsbok som heter " Försäljning " som för närvarande är öppen.

Lösning

För att lösa det här felet öppnar du först Excel-arbetsboken som du vill komma åt och kör sedan makrot.

2. Subscript Out of Range Error i VBA för ett obefintligt arbetsblad

När du försöker komma åt ett arbetsblad som inte finns i Excel-arbetsboken får du också upp meddelandet " Index utanför intervallet " fel i VBA .

Om vi försöker köra koden som visas ovan får vi felet eftersom det inte finns någon " Blad2 " som finns i vår arbetsbok.

Lösning

För att lösa det här felet måste du ha det Excel-ark som du vill komma åt i arbetsboken som körs och sedan köra makrot.

3. Subscript Out of Range Error i VBA för odefinierade arrayelement

Om du inte definierar längden på en dynamisk Array med ordet DIM eller . REDIM i Excel VBA får du " Index utanför intervallet " fel.

I koden ovan deklarerade vi Array i dimensionen 5 till 10 men hänvisade till ett subscript med index 3, som är lägre än 5.

Lösning

För att lösa detta kan du deklarera indexet mellan Array-dimensionen.

Den här koden fungerar utmärkt eftersom vi här hänvisar till index 5, som ligger inom intervallet 5 till 10.

4. Subscript Out of Range Error i VBA för ogiltig samling/array

När subscriptet är större eller mindre än intervallet för möjliga subscript, så är Index utanför intervallet kommer ett fel att uppstå.

I exemplet ovan har vi deklarerat variabeln som en Array, men i stället för att tilldela en start- och slutpunkt har vi direkt tilldelat den första arrayen med värdet 20.

Lösning

För att lösa detta problem måste vi tilldela längden på matrisen en start- och slutpunkt.

Den här koden ger inget fel eftersom vi nu har deklarerat Array med startpunkten 1 och slutpunkten 5.

5. Subscript Out of Range Error i VBA för kortfattade skript

Om du använder en förkortning av ett subscript och den hänvisar till ett ogiltigt element får du " Index utanför intervallet " fel i Excel VBA Till exempel, [A2] är en förkortning för ActiveSheet.Range(A2) .

Lösning

För att åtgärda detta måste du använda en giltig nyckelnamn och index för samlingen. Istället för att skriva ActiveSheet.Range(A2) kan du bara skriva [ A2 ].

Fördelen med Excel Subscript Out of Range Error i VBA

  • VBA Subscript utanför intervallet fel eller " Fel vid körning 9 " är verkligen användbar för att ange felets position där det inträffade i VBA kod.
  • Detta fel hjälper användarna att hitta typen av fel så att de kan kontrollera och hitta lösningar enligt felkoden.

Saker att komma ihåg

  • Eftersom det här felet kompilerar varje steg i koden för att visa oss exakt vilken del av koden som vi faktiskt måste vidta åtgärder för, är det bättre att kompilera varje kodrad en och en genom att trycka på F8 om du har en stor kodrad.

Slutsats

Den här artikeln visar dig orsakerna till och lösningarna på Excel Index utanför intervallet fel i VBA. Jag hoppas att denna artikel har varit till stor nytta för dig, och du får gärna ställa frågor om ämnet.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.