Excel VBA-subscript buiten bereik

VBA-subscript buiten bereik of grotendeels bekend als Run-Time Error 9 treedt op wanneer we een dergelijke cel of blad of werkmap selecteren die eigenlijk niet onder bereik of criteria valt die in Excel zijn gedefinieerd. Het is alsof we het bereik van 100 cellen of een kolom hebben geselecteerd en de waarden hebben opgeroepen die zijn opgeslagen in 120 cellen van dezelfde kolom. Wat betekent dat we buiten bereik gaan om de waarden te selecteren en op te roepen die niet binnen onze gedefinieerde criteria vallen. Wanneer dit soort situatie zich voordoet, krijgen we het bericht "Run-Time Error 9" tijdens het compileren of uitvoeren van de code. VBA Subscript buiten bereik foutbericht helpt ons de fout te verhelpen die betrekking heeft op het bereik dat we in Excel hebben geselecteerd.

Voorbeeld van Excel VBA Subscript buiten bereik

Hieronder staan ​​de verschillende voorbeelden van VBA Subscript buiten bereik in Excel.

U kunt dit VBA Subscript buiten bereik Excel-sjabloon hier downloaden - VBA Subscript buiten bereik Excel-sjabloon

VBA-subscript buiten bereik - Voorbeeld # 1

We zullen eerst een eenvoudig voorbeeld bekijken. Hiervoor moeten we naar VBA-vensters gaan en een nieuwe module toevoegen door naar de menu-optie Invoegen te gaan, zoals hieronder wordt weergegeven.

We krijgen een wit leeg venster van Module. Dit is waar we coderingswerk moeten doen.

Schrijf nu Subcategorie van uitgevoerde functie, houd voor de beste praktijk de naam van een functie in Subcategorie, zoals we hier deden voor VBA Subscript buiten bereik.

Code:

 Sub Subscript_OutOfRange1 () End Sub 

Hier in Excel hebben we slechts één blad met de naam "Blad1" zoals hieronder weergegeven.

Maar we zullen een code schrijven om een ​​blad te selecteren dat niet eens wordt toegevoegd en kijken wat er gebeurt.

Ga nu naar het VBA-venster en schrijf Spreadsheets (2) gevolgd door de Select-functie zoals hieronder getoond. Dat betekent dat we de bladvolgorde van de tweede positie selecteren met de functie Selecteren.

Code:

 Sub Subscript_OutOfRange1 () Sheets (2). Selecteer End Sub 

Compileer nu de volledige code of doe het stap voor stap om te weten welk deel van de code een fout is. Omdat we slechts één coderegel hebben, kunnen we de code direct uitvoeren door op de afspeelknop onder de menubalk te klikken. We krijgen een foutmelding met de melding " Run-Time error 9, Subscript out of range " in de VBA zoals hieronder weergegeven.

Dit laat zien dat we proberen dat blad te selecteren dat niet bestaat. Als we een nieuw blad toevoegen of de bladreeks in code wijzigen van 2 e naar 1 e, kunnen we een succesvolle coderun uitvoeren. Laten we nog een blad toevoegen en kijken wat er gebeurt.

Voer nu opnieuw de code uit. En omdat we geen fouten hebben gezien, betekent dit dat onze code de succesvolle run heeft voltooid.

VBA-subscript buiten bereik - voorbeeld # 2

In een ander voorbeeld zien we opnieuw een eenvoudige code voor het activeren van een werkblad. Ook hiervoor zullen we de code schrijven. Begin met het schrijven van de Subcategorie in de naam van een uitgevoerde functie of in een andere naam zoals hieronder weergegeven.

Code:

 Sub Subscript_OutOfRange2 () End Sub 

Nu zullen we met behulp van Worksheet Sheet1 activeren zoals hieronder getoond.

Code:

 Sub Subscript_OutOfRange2 () Werkbladen ("Sheet1"). Activeer End Sub 

Compileer nu de volledige code en voer het uit. We zullen merken dat er geen foutmelding is verschenen, wat betekent dat de code is uitgevoerd. Laten we nu de ruimte tussen "Sheet 1" plaatsen

Compileer opnieuw en voer de code uit.

Zoals we hierboven kunnen zien, zelfs als ons volledige proces en de manier waarop we de code schrijven correct is, maar we hebben de juiste bladnaam als "Blad 1" gebruikt. Die in werkelijkheid geen ruimte heeft tussen "Sheet1".

Dit laat zien, dat er nog steeds kansen zijn om een ​​foutmelding te krijgen als u de juiste bladnaam of werkmapnaam niet spellen of schrijven.

VBA-subscript buiten bereik - Voorbeeld # 3

In dit voorbeeld zullen we zien hoe het kiezen van een onjuist Array-bereik kan leiden tot Run-time error 9. Begin opnieuw met het schrijven van Subcategorie in de naam van de uitgevoerde functie zoals hieronder getoond.

Code:

 Sub Subscript_OutOfRange3 () End Sub 

Definieer nu met behulp van DIM een array van elke grootte en geeft deze aan String of Integers. Dat hangt er vanaf, wat we willen opslaan in Array, cijfers of tekst.

Hier hebben we een reeks van 2 × 3 als String beschouwd, zoals hieronder wordt weergegeven.

Code:

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

Hiermee vormt het een tabel voor 2 rijen en 3 kolommen en kunnen we elke waarde opslaan volgens onze behoefte. Omdat we String hebben geselecteerd, zullen we er tekst of alfabetten in overwegen.

Selecteer nu in de tweede coderegel de gemaakte array maar met een extra of meer kolom en wijs een tekst toe als ABC of een andere tekst volgens uw keuze. Hier hebben we een Array van 2 × 5 geselecteerd zoals hieronder getoond.

Code:

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

Compileer nu en voer de code uit. Zoals we in de onderstaande schermafbeelding kunnen zien, hebben we een VBA Subscript out of Range-foutbericht van Runtime-fout 9 ontvangen.

Reden voor het krijgen van deze fout is omdat we een onjuist arraybereik hebben geselecteerd binnen 2 extra kolommen van 2 × 3 tot 2 × 5, wat de codelimiet overschrijdt. Als we nu opnieuw het juiste bereik van de array als 2 × 3 selecteren en kijken wat er gebeurt.

Na het compileren en uitvoeren van de code. We zullen zien dat we geen fouten hebben ontvangen, wat betekent dat onze coderun succesvol was.

Voordelen van Excel VBA Subscript buiten bereik

  • Met VBA Subscript buiten bereik weten we wat voor soort fout is gebeurd. Zodat we specifiek de oplossing van de verkregen foutcode kunnen vinden.
  • Aangezien VBA-subscript buiten bereik is 'Run-time error 9' behoorlijk nuttig om te weten wat voor soort fout is opgetreden in Excel.

Dingen om te onthouden

  • Het wordt aanbevolen om Subcategorie in de naam van de uitgevoerde functie te gebruiken met een reeks code, zodat het gemakkelijk kan worden gevolgd.
  • Sla het bestand op als werkmap met macro om te voorkomen dat u geschreven code verliest.
  • Als u enorme coderegels hebt, is het beter om elke coderegel een voor een te compileren door op F8 te drukken. Deze methode compileert elke stap van de code, zodat we direct weten welk gedeelte van de code de fout in de eerste keer bevat.

Aanbevolen artikelen

Dit is een gids geweest voor Excel VBA Subscript buiten bereik. Hier hebben we besproken waarom VBA Subscript buiten bereik-fout optreedt (Runtime Error 9), samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Hoe op te lossen: VBA 1004-fout?
  2. Fouten begrijpen in Excel
  3. Volledige gids voor VBA bij fout
  4. Gebruik van de IFERROR Excel-functie

Categorie: