Hoe de ‘Subscript buiten bereik’ -fout in Visual Basic for Applications te repareren?

Visual Basic for Applications (VBA) is een implementatie van de door Microsoft ontwikkelde programmeertaal Visual Basic. VBA kan worden gebruikt voor het inschakelen van UDF's, het automatiseren van taken en voor toegang tot WinAPI via DLL's. Vrij recentelijk zijn er echter veel rapporten binnengekomen waarin gebruikers bepaalde opdrachten niet konden uitvoeren en een "Abonnement buiten bereik, fout 9”Komt tevoorschijn terwijl hij dit probeert.

Wat veroorzaakt de fout 'Subscript buiten bereik' in VBA?

Nadat we talloze rapporten van meerdere gebruikers hadden ontvangen, besloten we het probleem te onderzoeken en een reeks oplossingen te bedenken om het volledig op te lossen. We hebben ook gekeken naar de redenen waardoor het wordt geactiveerd en hebben deze als volgt opgesomd.

Nu u een basiskennis heeft van de aard van het probleem, gaan we verder met de oplossingen. Zorg ervoor dat u deze implementeert in de specifieke volgorde waarin ze worden gepresenteerd om conflicten te voorkomen.

Oplossing 1: arrays controleren

Het is mogelijk dat u een onjuiste waarde heeft gedefinieerd voor het Array-element. Daarom wordt aanbevolen om de waarde die u hebt gedefinieerd voor het Array-element nogmaals te controleren en ervoor te zorgen dat dit de juiste is. Zorg er ook voor dat u de declaratie van de array en verifiëren de boven- en ondergrenzen. Als de arrays opnieuw zijn gedimensioneerd, moet u ervoor zorgen dat u de LBound en UBound functies om toegangen te conditioneren. Controleer de spelling van de variabelenaam als de index een variabele is.

Oplossing 2: specificeer het aantal elementen

In sommige gevallen is het mogelijk dat u niet het aantal elementen in uw code heeft gedefinieerd waardoor de fout wordt geactiveerd. Het wordt aanbevolen om het aantal elementen in de array op te geven met de Afm of ReDim functies.

Oplossing 3: Construct

Deze fout treedt meestal op wanneer de gebruiker een onjuist of niet-bestaand collectielid opgeeft. Daarom is het raadzaam om in plaats van de indexelementen op te geven, te benaderen met de "Voor elk… Volgende”Construeren.

Oplossing 4: sleutelnaam en index controleren

In sommige gevallen is het mogelijk dat u een verkorte vorm van het subscript heeft gebruikt en het specificeert een ongeldig element. Daarom wordt aanbevolen dat u een geldige sleutel naam en inhoudsopgave voor de collectie.

Facebook Twitter Google Plus Pinterest