Excel VBA-abonnement uden for rækkevidden

VBA-abonnement uden for rækkevidde eller kender stort set som run-time-fejl 9 sker, når vi vælger en sådan celle eller ark eller arbejdsbog, som faktisk ikke hører under rækkevidde eller kriterier defineret i Excel. Det er som om vi har valgt området 100 celler eller en kolonne, og vi har udråbt de værdier, der er gemt i 120 celler i den samme kolonne. Hvilket betyder, at vi går uden for rækkevidde for at vælge og kalde de værdier, der ikke er i vores definerede kriterier. Når denne form for situation sker, får vi en "Run-Time Error 9" -meddelelse, mens vi udarbejder eller kører koden. VBA-abonnement uden for rækkevidde-fejlmeddelelse hjælper os med at rette op på den fejl, der er relateret til det interval, vi har valgt i Excel.

Eksempel på Excel VBA-abonnement uden for rækkevidde

Nedenfor er de forskellige eksempler på VBA-abonnement uden for rækkevidde i Excel.

Du kan downloade dette VBA-abonnement uden for Excel-skabelon her - VBA-abonnement uden for Excel-skabelon

VBA-abonnement uden for rækkevidde - eksempel # 1

Vi vil først overveje et simpelt eksempel. For dette skal vi gå til VBA-vinduer og tilføje et nyt modul ved at gå i menuen Indsæt som vist nedenfor.

Vi får et hvidt, tomt vindue med modul. Det er her vi skal udføre kodningsarbejde.

Skriv nu underkategori af udført funktion, og hold navnet på en funktion i underkategori for bedste praksis, som vi gjorde her for VBA-underskrift uden for rækkevidden.

Kode:

 Sub Subscript_OutOfRange1 () End Sub 

Her i Excel har vi kun et ark navngivet som "Ark1" som vist nedenfor.

Men vi vil skrive en kode for at vælge et ark, der ikke engang er tilføjet og se, hvad der sker.

Gå nu til VBA-vinduet og skriv Ark (2) efterfulgt af Vælg funktion som vist nedenfor. Hvilket betyder, vi vælger Ark-sekvens for 2. position med Select-funktion.

Kode:

 Sub Subscript_OutOfRange1 () Ark (2) .Vælg slut sub 

Kompiler nu den komplette kode, eller gør det trin for trin for at vide, hvilken del af koden der er en fejl. Da vi kun har en kodelinje, kan vi direkte køre koden ved at klikke på afspilningsknappen under menulinjen. Vi får en fejlmeddelelse, der siger “ Run-time error 9, Subscript out of range ” i VBA som vist nedenfor.

Dette viser, at vi forsøger at vælge det ark, der ikke findes. Hvis vi tilføjer et nyt ark eller ændrer arksekvensen i kode fra 2. til 1. st, kan vi muligvis få et vellykket kodekørsel. Lad os tilføje et andet ark og se, hvad der sker.

Kør nu igen koden. Og da vi ikke så nogen fejl, hvilket betyder, at vores kode afslutter det vellykkede løb.

VBA-abonnement uden for rækkevidde - eksempel # 2

I et andet eksempel ser vi igen en simpel kode til aktivering af et regneark. For dette igen skriver vi koden. Begynd med at skrive underkategorien i navnet på en udført funktion eller i et hvilket som helst andet navn som vist nedenfor.

Kode:

 Sub Subscript_OutOfRange2 () End Sub 

Nu med hjælp af regneark aktiverer vi ark1 som vist nedenfor.

Kode:

 Sub Subscript_OutOfRange2 () Arbejdsark ("Sheet1"). Aktivér End Sub 

Kompiler nu den komplette kode og kør. Vi vil bemærke, at der ikke er vist nogen fejlmeddelelse, hvilket betyder, at køreløsningen er vellykket. Lad os nu placere mellemrummet mellem "Ark 1"

Igen kompiler og kør koden igen.

Som vi kan se ovenfor, selvom vores komplette proces og måde at skrive koden på er korrekte, men vi har indtastet det korrekte arknavn som "Ark 1". Som i virkeligheden ikke har noget mellemrum mellem “Ark1”.

Dette viser, at der stadig er chancerne for at få en fejl, hvis du ikke stave eller skriver det korrekte arknavn eller arbejdsbogens navn.

VBA-abonnement uden for rækkevidde - eksempel # 3

I dette eksempel vil vi se, hvordan valg af forkert array-interval kan skabe og vise fejl i løbetid 9. Begynd at skrive underkategori igen i navnet på den udførte funktion som vist nedenfor.

Kode:

 Sub Subscript_OutOfRange3 () End Sub 

Definer nu med hjælp fra DIM en matrix af enhver størrelse og giver den til streng eller heltal. Hvilket afhænger af, hvad vi vil gemme i Array, tal eller tekst.

Her har vi betragtet en matrix af 2 × 3 som streng som vist nedenfor.

Kode:

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

På dette tidspunkt danner den en tabel for 2 rækker og 3 kolonner, og vi kan gemme alle værdier, som vi har behov for. Som vi har valgt streng, vil vi overveje tekst eller alfabeter i den.

I den anden kodelinje skal du vælge det oprettede array, men med en ekstra eller flere kolonne og tildele en tekst som ABC eller enhver anden tekst, som du vælger. Her har vi valgt en matrix på 2 × 5 som vist nedenfor.

Kode:

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

Kompilér og kør nu koden. Som vi kan se i nedenstående skærmbillede, fik vi et VBA-abonnement uden for rækkevidde-fejlmeddelelse af run-time-fejl 9.

Årsagen til at få denne fejl er fordi vi har valgt et forkert array-område inden for 2 ekstra kolonner fra 2 × 3 til 2 × 5, hvilket er uden for koden. Hvis vi nu igen vælger det korrekte række af array som 2 × 3 og ser, hvad der sker.

Efter kompilering og kørsel af koden. Vi ser, at vi ikke modtog nogen fejl, hvilket betyder, at vores kodekørsel var vellykket.

Fordele ved Excel VBA-abonnement uden for rækkevidde

  • VBA-abonnement uden for rækkevidden giver os mulighed for at vide, hvilken slags fejl der er sket. Så vi specifikt kan finde løsningen på den opnåede fejlkode.
  • Da VBA-abonnement uden for rækkevidden er 'Run-time error 9' ganske nyttigt til at vide, hvilken slags fejl der er opstået i Excel.

Ting at huske

  • Det anbefales at bruge underkategori i navnet på den udførte funktion med en sekvens af kode, så det ville være let at spore den korrekt.
  • Gem filen som en makroaktiveret projektmappe for at undgå at miste den skriftlige kode.
  • Hvis du har enorme kodelinjer, er det bedre at samle hver kodelinje en efter en ved at trykke på F8-tasten. Denne metode samler hvert kodetrin, så vi direkte kan vide, hvilken del af koden der faktisk har fejlen i første omgang.

Anbefalede artikler

Dette har været en guide til Excel VBA-abonnement uden for rækkevidde. Her diskuterede vi, hvorfor VBA-abonnement uden for rækkevidde opstår (Run-time Error 9) sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Sådan ordnes: VBA 1004 fejl?
  2. Forståelse af fejl i Excel
  3. Komplet guide til VBA ved fejl
  4. Brug af IFERROR Excel-funktion

Kategori: