Runtimefout 9-abonnement buiten bereik: oplossing
De foutmelding “ Runtime Error 9 ” verschijnt in bepaalde scenario’s in Visual Basic in Microsoft Excel. Hoewel de belangrijkste reden voor deze fout het bereikprobleem in de hoofdbasiscode is, zijn er bepaalde scenario’s waarin u met dit dilemma te maken kunt krijgen. In deze handleiding hebben we alle mogelijke oplossingen besproken waarbij u met deze fout te maken kunt krijgen en hoe u dit kunt oplossen.
Fix 1 – Controleer het bereik dat in de code wordt vermeld
De “ Runtime Error 9 ” verschijnt wanneer het bereik dat in de code wordt beweerd, verkeerd is geconfigureerd. Controleer in dat geval dus het bereik van de variabelen die in de code worden genoemd.
Voorbeeld –
Sub Newfunction()
Dim Array() als variant
Array(1) = “Nul”
Einde sub
Zoals u in de code kunt zien, wordt de array gedeclareerd als een variant, maar zonder enig juist bereik. Dat is de reden dat wanneer u deze code in de VB-editor uitvoert, u een subscriptfout krijgt.
Als u alleen het bereik in de code wijzigt, zou u klaar moeten zijn.
Fix 2 – Pas de naam van het werkblad aan
Als u met meerdere werkbladen tegelijk werkt, bestaat de kans dat de naam van het werkblad dat in de code wordt weergegeven, onjuist is.
Voorbeeld –
Sub CommandButton1_Click()
Werkbladen(“Blad”).Bereik(“A1:D5”).Selecteer
Selectie.Kopiëren
Werkbladen(“Blad1”).Activeren
Werkbladen(“Blad1”).Bereik(“A1:D5”).Selecteer
ActiveSheet.Paste
Application.CutCopyMode = Onwaar
Einde sub
Zoals u kunt zien, geeft Excel u bij het uitvoeren van de bovengenoemde VBA-code een foutcode 9-subscript buiten bereik. De reden hiervoor is dat het bereik van de genoemde werkmap het werkblad is en dat de bewerking wordt uitgevoerd op werkblad 1, in plaats van op werkblad 2 .
Nu kunt u dit doen –
Stap 1 – Klik met de rechtermuisknop op het werkblad en tik op “ Hernoemen ” om de naam van het werkblad te wijzigen.
Stap 2 – Corrigeer de naam van de werkmap.
Of,
je kunt de code op deze manier opnieuw aanpassen –
Sub CommandButton1_Click()
Werkbladen(“Blad”).Bereik(“A1:D5”).Selecteer
Selectie.Kopiëren
Werkbladen(“Blad2”).Activeren
Werkbladen(“Blad2”).Bereik(“A1:D5”).Selecteer
ActiveSheet.Paste
Application.CutCopyMode = Onwaar
Einde sub
Voer deze code uit en u zult geen problemen meer hebben met het subscriptbereik.
Fix 3 – Macro’s inschakelen
Als het VBA-script macromodules gebruikt en u deze niet hebt ingeschakeld, zou het inschakelen van de macro’s u moeten helpen het probleem op te lossen.
Stap 1 – Ga naar de Excel- werkmap en klik op het menu “ Bestand ”.
Stap 2 – Klik deze keer op het menu “ Opties ” in het linkerlint.
Stap 3 – U moet het tabblad “ Vertrouwenscentrum ” vinden en openen.
Stap 4 – Klik in het rechterdeelvenster op de optie “ Vertrouwenscentrum-instellingen ” openen.
Stap 5 – Er zijn hier veel opties. Kies ervoor om het tabblad ” Macro’s ” te openen.
Stap 6 – Afhankelijk van de macro-instellingen in uw code, schakelt u nu een van deze opties in:
Disable all macros except digitally signed macros
Schakel alle macro’s in (niet aanbevolen: potentieel gevaarlijke codes kunnen worden uitgevoerd)
Stap 7 – Tik op “ OK ” om de wijzigingen in Excel op te slaan.
Nadat u deze wijzigingen in Excel hebt opgeslagen, kunt u de VB-code nogmaals uitvoeren.
Fix 4 – Debug de code stap voor stap
Net als andere terminals beschikt de Visual Basic-module over een debugging-tool. Gebruik deze om problemen met de code op te lossen.
Stap 1 – Nadat u de MS Excel- pagina hebt geopend, gaat u naar het tabblad “ Ontwikkelaar ”.
Stap 2 – Tik vervolgens op de eerste optie, namelijk “ Visual Basic ”.
Stap 3 – Wanneer u de Visual Basic-console heeft geopend, selecteert u de stap met de verdachte waarde.
Stap 4 – Open hierna het menu “ Debug ” en gebruik de tools daar om de bug te achterhalen die deze subscriptfout veroorzaakt.
Nu kunt u de code zelf testen.
Fix 5 – Open en repareer het Excel-bestand
Het is mogelijk dat de spreadsheet zelf beschadigd is. U moet dus het Excel-bestand repareren en openen.
Stap 1 – Sla de wijzigingen op in de MS Excel-app.
Stap 2 – Start de Microsoft Excel- applicatie afzonderlijk.
Stap 3 – Tik deze keer op het eerste menu “ Bestand ”.
Stap 4 – Ga vervolgens deze kant op –
Open > Browse
Stap 5 – De volgende stap is om handmatig naar de locatie van het Excel-bestand te gaan.
Stap 6 – Kies er vervolgens voor om het bestand daarin te selecteren.
Stap 7 – Schakel ten slotte de onderste optie in de lijst naar ‘ Openen en repareren ’.
Na het laden van het Excel-bestand kunt u eindelijk zonder problemen de visuele basiscode uitvoeren.
Geef een reactie