Excel VBA-abonnemang utanför räckvidden

VBA-prenumeration utanför räckvidden eller i huvudsak känner till som körningsfel 9 inträffar när vi väljer en sådan cell eller ett ark eller en arbetsbok som faktiskt inte faller under intervall eller kriterier definierade i Excel. Det är som om vi har valt intervallet på 100 celler eller en kolumn och vi har uttalat värden lagrade i 120 celler i samma kolumn. Vilket innebär att vi går utanför räckvidden för att välja och ropa ut värden som inte finns i våra definierade kriterier. När denna typ av situation inträffar får vi ett "Run-Time Error 9" -meddelande när vi sammanställer eller kör koden. VBA-abonnemang utanför intervallfelmeddelandet hjälper oss att korrigera felet som är relaterat till området vi har valt i Excel.

Exempel på Excel VBA-abonnemang utanför räckvidden

Nedan visas de olika exemplen på VBA-abonnemang utanför räckvidden i Excel.

Du kan ladda ner detta VBA-abonnemang utanför Excel-mall här - VBA-abonnemang utanför Excel-mall

VBA-abonnemang utanför räckvidden - exempel # 1

Vi kommer först att överväga ett enkelt exempel. För detta måste vi gå till VBA-fönster och lägga till en ny modul genom att gå i Infoga menyalternativ som visas nedan.

Vi får ett vitt tomt fönster med modulen. Det är här vi måste göra kodningsarbete.

Skriv nu underkategori för utförd funktion, behåll namnet på en funktion i underkategorin, som vi gjorde här för VBA-abonnemang utanför räckvidden.

Koda:

 Sub Subscript_OutOfRange1 () End Sub 

Här i Excel har vi bara ett ark som heter "Sheet1" som visas nedan.

Men vi kommer att skriva en kod för att välja ett ark som inte ens läggs till och se vad som händer.

Gå nu till VBA-fönstret och skriv Sheets (2) följt av Select-funktion som visas nedan. Vilket innebär att vi väljer Sheetsekvens för 2: a position med Select-funktion.

Koda:

 Sub Subscript_OutOfRange1 () Sheets (2). Välj End Sub 

Sätt nu samman hela koden eller gör det steg för steg för att veta vilken del av koden som är ett fel. Eftersom vi bara har en kodrad kan vi köra koden direkt genom att klicka på uppspelningsknappen under menyfältet. Vi får ett felmeddelande som säger ” Run-time error 9, Subscript out of range ” i VBA som visas nedan.

Detta visar att vi försöker välja det ark som inte finns. Om vi ​​lägger till ett nytt ark eller ändrar arkföljden i kod från 2: a till 1: a kan vi få en framgångsrik kodkörning. Låt oss lägga till ett nytt ark och se vad som händer.

Kör nu igen koden. Och eftersom vi inte såg något fel, vilket innebär att vår kod fullbordar den framgångsrika körningen.

VBA-prenumeration utanför räckvidden - exempel # 2

I ett annat exempel ser vi igen en enkel kod för att aktivera ett kalkylblad. För detta igen kommer vi att skriva koden. Börja skriva underkategorin i namnet på en utförd funktion eller i något annat namn som visas nedan.

Koda:

 Sub Subscript_OutOfRange2 () End Sub 

Nu med hjälp av kalkylblad kommer vi att aktivera blad1 som visas nedan.

Koda:

 Sub Subscript_OutOfRange2 () Worksheets ("Sheet1"). Aktivera End Sub 

Sätt nu samman hela koden och kör. Vi märker att det inte har funnits något felmeddelande vilket innebär att kodkörningen är framgångsrik. Låt oss nu lägga utrymmet mellan "Sheet 1"

Återigen kompilera och köra koden.

Som vi kan se ovan, även om vår fullständiga process och sätt att skriva koden är korrekt, men vi har tagit in rätt arknamn som "Ark 1". Som i verkligheten inte har något utrymme mellan ”Sheet1”.

Detta visar att det finns fortfarande chanserna att få ett fel om du inte stavar eller skriver rätt arknamn eller arbetsboknamn.

VBA-prenumeration utanför räckvidden - exempel # 3

I det här exemplet kommer vi att se hur du väljer felaktigt arrayintervall kan skapa och visa körtidfel 9. Börja skriva underkategori igen i namnet på den utförda funktionen som visas nedan.

Koda:

 Sub Subscript_OutOfRange3 () End Sub 

Nu med hjälp av DIM definiera en matris av valfri storlek och ger den till sträng eller heltal. Vilket beror, vad vi vill lagra i Array, siffror eller text.

Här har vi betraktat en matris med 2 × 3 som sträng som visas nedan.

Koda:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) Som String End Sub 

Genom detta kommer det att bilda en tabell för 2 rader och 3 kolumner och vi kan lagra alla värden enligt vårt behov. När vi har valt String kommer vi att överväga text eller alfabet i den.

I den andra kodraden väljer du den skapade matrisen men med en extra eller fler kolumn och tilldelar en text som ABC eller annan text enligt ditt val. Här har vi valt en matris med 2 × 5 som visas nedan.

Koda:

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

Nu ska du kompilera och köra koden. Som vi kan se i nedanstående skärmdump, fick vi ett VBA-abonnemang utanför intervallfelmeddelandet för körningstidfel 9.

Anledningen till att få detta fel är att vi har valt ett felaktigt Array-intervall inom 2 extra kolumner från 2 × 3 till 2 × 5, vilket är utanför kodgränsen. Nu om vi igen väljer det rätta arrayområdet som 2 × 3 och ser vad som händer.

Efter att ha sammanställt och kört koden. Vi ser att vi inte fick något fel vilket innebär att vår kodkörning var framgångsrik.

Fördelar med Excel VBA-abonnemang utanför räckvidden

  • VBA-abonnemang utanför räckvidden låter oss veta vilken typ av fel som har hänt. Så att vi specifikt kan hitta lösningen på den erhållna felkoden.
  • Eftersom VBA-abonnemang utanför räckvidden 'Run-time error 9' är ganska användbart för att veta vilken typ av fel som har inträffat i Excel.

Saker att komma ihåg

  • Det rekommenderas att använda underkategori i namnet på den utförda funktionen med en kodsekvens så att det skulle vara lätt att spåra den ordentligt.
  • Spara filen som makroaktiverad arbetsbok för att undvika att förlora skriftlig kod.
  • Om du har enorma kodrader är det bättre att sammanställa varje kodrad en efter en genom att trycka på F8-tangenten. Denna metod sammanställer varje kodsteg så att vi direkt kan veta vilken del av koden som faktiskt har felet i första hand.

Rekommenderade artiklar

Detta har varit en guide till Excel VBA-abonnemang utanför räckvidden. Här diskuterade vi varför VBA Subscript out of Range-fel uppstår (Run-time Error 9) tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Hur fixar jag: VBA 1004-fel?
  2. Förstå fel i Excel
  3. Komplett guide till VBA vid fel
  4. Användning av IFERROR Excel-funktion

Kategori: