Abonnement utenfor rekkevidde - Enkel Excel VBA

Innholdsfortegnelse

Arbeidsbøker | Regneark | Array

Den 'abonnement utenfor rekkevidde'feil i Excel VBA oppstår når du refererer til et ikke -eksisterende samlingsmedlem eller et ikke -eksisterende matriseelement.

Plasser en kommandoknapp på regnearket og legg til kodelinjene nedenfor. For å utføre kodelinjene, klikk på kommandoknappen på arket.

Arbeidsbøker

Arbeidsbøker -samlingen i Excel VBA inneholder alle arbeidsbokobjektene som er åpne.

1. Kodelinjen nedenfor stenger sales.xlsm.

Arbeidsbøker ("sales.xlsm"). Lukk

Resultat når det ikke er noen åpen arbeidsbok med dette navnet:

Merk: for å fikse denne "subscript out of range" -feilen (kjøretidsfeil 9), åpne sales.xlsm før du klikker på kommandoknappen.

Arbeidsark

Regneark -samlingen i Excel VBA inneholder alle regnearkobjektene i en arbeidsbok. Arbeidsboken vår har 3 regneark.

1. Kodelinjen nedenfor prøver å plassere ordet Hei i celle A1 på det fjerde regnearket.

Regneark (4) .Range ("A1"). Verdi = "Hei"

Resultat når du klikker på kommandoknappen på arket:

Forklaring: "subscript out of range" -feilen dukker opp fordi det ikke er noe fjerde regneark. For å fikse denne feilen, endre 4 til a 1, 2 eller 3 (eller sett inn et nytt regneark ved å klikke pluss -tegnet).

Array

En matrise er en gruppe variabler. I Excel VBA kan du referere til en bestemt variabel (element) i en matrise ved å bruke matrisenavnet og indeksnummeret.

1. Den første kodelinjen nedenfor deklarerer en strengmatrise med navnefilmer. Arrayen består av fem elementer.

2. Deretter initialiserer vi hvert element i matrisen.

3. Den siste kodelinjen prøver å vise det sjette elementet ved hjelp av en MsgBox.

Dim Films (1 To 5) As String
Films (1) = "Ringenes Herre"
Films (2) = "Hastighet"
Films (3) = "Star Wars"
Films (4) = "The Godfather"
Films (5) = "Pulp Fiction"
MsgBox -filmer (6)

Resultat når du klikker på kommandoknappen på arket:

Forklaring: "subscript out of range" -feilen dukker opp fordi det ikke er noe sjette element. For å fikse denne feilen, endre 6 til en 1, 2, 3, 4 eller 5 (eller deklarere en strengmatrise med 6 elementer).

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave