Subscript buiten bereik - Easy Excel VBA

Inhoudsopgave

Werkboeken | Werkbladen | Array

De 'subscript buiten bereik' fout in Excel VBA treedt op wanneer u verwijst naar een niet-bestaand verzamelingslid of een niet-bestaand array-element.

Plaats een opdrachtknop op uw werkblad en voeg de onderstaande coderegels toe. Om de coderegels uit te voeren, klikt u op de opdrachtknop op het blad.

Werkmappen

De verzameling werkmappen in Excel VBA bevat alle werkmapobjecten die momenteel zijn geopend.

1. De onderstaande coderegel sluit sales.xlsm af.

Werkmappen ("sales.xlsm").Sluiten

Resultaat wanneer er geen open werkmap is met deze naam:

Opmerking: om deze 'subscript buiten bereik'-fout op te lossen (runtime-fout 9), open sales.xlsm voordat u op de opdrachtknop klikt.

Werkbladen

De verzameling werkbladen in Excel VBA bevat alle werkbladobjecten in een werkmap. Ons werkboek heeft 3 werkbladen.

1. De onderstaande coderegel probeert het woord Hallo in cel A1 op het 4e werkblad te plaatsen.

Werkbladen(4).Bereik("A1").Waarde = "Hallo"

Resultaat wanneer u op de opdrachtknop op het werkblad klikt:

Uitleg: de foutmelding 'subscript buiten bereik' verschijnt omdat er geen 4e werkblad is. Om deze fout op te lossen, wijzigt u de 4 in een 1, 2 of 3 (of voegt u een nieuw werkblad in door op het plusteken te klikken).

Array

Een array is een groep variabelen. In Excel VBA kunt u verwijzen naar een specifieke variabele (element) van een array door de arraynaam en het indexnummer te gebruiken.

1. De eerste coderegel hieronder declareert een String-array met de naam Films. De array bestaat uit vijf elementen.

2. Vervolgens initialiseren we elk element van de array.

3. De laatste coderegel probeert het 6e element weer te geven met behulp van een MsgBox.

Dim films (1 tot 5) als string
Films(1) = "Lord of the Rings"
Filmpjes(2) = "Snelheid"
Films (3) = "Star Wars"
Films(4) = "De peetvader"
Films(5) = "Pulp Fiction"
MsgBox-films(6)

Resultaat wanneer u op de opdrachtknop op het werkblad klikt:

Uitleg: de foutmelding 'subscript buiten bereik' verschijnt omdat er geen 6e element is. Om deze fout op te lossen, wijzigt u de 6 in een 1, 2, 3, 4 of 5 (of declareert u een String-array met 6 elementen).

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave