Subscript buiten bereik-fout in Visual Basic for Applications (VBA) repareren



Bijgewerkt april 2024: Stop met het krijgen van foutmeldingen en vertraag uw systeem met onze optimalisatietool. Haal het nu bij deze link
  1. Download en installeer de reparatietool hier.
  2. Laat het uw computer scannen.
  3. De tool zal dan repareer je computer.

VBA Subscript buiten bereik-fout treedt op omdat het object waartoe we toegang willen, niet bestaat. Dit is een soort fout in VBA-codering en een "Run Time Error 9". Het is belangrijk om de concepten te begrijpen om effectieve code te schrijven, en het is zelfs nog belangrijker om de fout van uw VBA-code te begrijpen om de code effectief te debuggen.

Als u en uw coderingsfout niet weten wat deze fout is wanneer u afwezig bent.

Een arts kan zijn patiënt geen medicijnen geven zonder de ziekte te kennen. Hoewel de arts en de patiënt weten dat er een ziekte (fout) is, is het belangrijk om de ziekte (fout) te begrijpen als het geven van haar medicatie. Als u de fout volledig begrijpt, is het veel eenvoudiger om de oplossing te vinden.

Een andere reden kan zijn dat u geen standaardprinter op uw computer hebt. Er zijn verschillende oplossingen om dit op te lossen Runtime Error 9 probleem, dus probeer ze allemaal in de juiste volgorde.

Een standaardprinter toevoegen

  1. Sluit een printer aan op uw computer, steek de stekker in het stopcontact en zet hem aan.
  2. Ga naar “Start”> “Configuratiescherm”> “Printers en faxapparaten”.
  3. Klik op "Printer toevoegen" en volg de instructies op het scherm om een ​​standaardprinter toe te voegen.

Controleer de arrays

Het is mogelijk dat u een onjuiste waarde hebt ingesteld voor het array-element. Het wordt daarom aanbevolen om de waarde die u hebt gedefinieerd voor het array-element opnieuw te controleren en te controleren of dit correct is. Controleer ook de tabeldeclaratie en controleer de boven- en ondergrenzen. Als het formaat van de tabellen is gewijzigd, moet u de functies LBound en UBound gebruiken om de toegang te conditioneren. Controleer de spelling van de variabelenaam als de index een variabele is.

Definieer het aantal elementen

In sommige gevallen hebt u mogelijk niet het aantal elementen in uw code gedefinieerd dat de fout veroorzaakt. Het wordt aanbevolen om het aantal elementen in de tabel op te geven met de functies Dim of ReDim.

Hoe de fout "Out of Range Error Subscript" in VBA te vermijden

Vermijd het gebruik van de functies die in Excel zijn geïntegreerd: ActiveWorkbook, ActiveSheet en Selection: voer de retourwaarden in en geef de voorkeur aan gekwalificeerde uitdrukkingen.



Update april 2024:

U kunt nu pc-problemen voorkomen door deze tool te gebruiken, zoals u beschermen tegen bestandsverlies en malware. Bovendien is het een geweldige manier om uw computer te optimaliseren voor maximale prestaties. Het programma repareert met gemak veelvoorkomende fouten die op Windows-systemen kunnen optreden - urenlange probleemoplossing is niet nodig als u de perfecte oplossing binnen handbereik heeft:

  • Stap 1: Download PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista - Microsoft Gold Certified).
  • Stap 2: klik op "Start scannen"Om registerproblemen met Windows te vinden die pc-problemen kunnen veroorzaken.
  • Stap 3: klik op "Herstel alles"Om alle problemen op te lossen.

Download



Gebruik de geïntegreerde slechts eenmaal en alleen in de meest externe macro's (subs) en leg vast bij het starten van de macro, bijv

set wkb = ActiveWorkbook
set wks = ActiveSheet
Zoutset = selectie
Tijdens en in macro's zijn deze geïntegreerde namen niet betrouwbaar, maar de retourwaarden worden vastgelegd, bijvoorbeeld

Stel wkb = Workbooks.add 'in in plaats van Workbooks.add zonder een retourwaarde in te voeren.
wkb.Activate 'in plaats van Activeworkbook.Activate
Probeer bijvoorbeeld ook gekwalificeerde uitdrukkingen te gebruiken

wkb.Sheets ("Sheet3"). name = "foo" 'in plaats van Sheets ("Sheet3"). name = "foo".
or

Stel newWks = wkb.Sheets.Add in.
newWks.name = "bar" 'in plaats van ActiveSheet.name = "bar".
Gebruik gekwalificeerde uitdrukkingen, bijv

newWks.name = "bar" 'in plaats van "xyz.Select' gevolgd door Selection.name =" bar ".
Deze methoden werken over het algemeen beter, produceren minder verwarrende resultaten, zijn robuuster voor refactoring (bijvoorbeeld het verplaatsen van coderegels binnen en tussen methoden) en werken beter in alle versies van Excel. De selectie verandert bijvoorbeeld tijdens de uitvoering van de macro anders van de ene versie van Excel naar de andere.

Merk ook op dat u waarschijnlijk zult merken dat u voor het gebruik van meer gekwalificeerde uitdrukkingen niet zo veel functies hoeft te activeren. (Dit kan betekenen dat het scherm minder knippert voor de gebruiker.) Dus de hele Windows (expressie) regel. Activeren kan eenvoudig worden verwijderd in plaats van te worden vervangen door wkb. Activeer helemaal.

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/subscript-out-of-range-error-9



Expert Tip: Deze reparatietool scant de repositories en vervangt corrupte of ontbrekende bestanden als geen van deze methoden heeft gewerkt. Het werkt goed in de meeste gevallen waar het probleem te wijten is aan systeembeschadiging. Deze tool zal ook uw systeem optimaliseren om de prestaties te maximaliseren. Het kan worden gedownload door Hier klikken