Sommario
In questo articolo vi mostreremo le ragioni del " Sottoscritto fuori dall'intervallo "errore in Excel VBA e come risolverli.
Scarica il modello di pratica
È possibile scaricare gratuitamente il modello Excel di esercitazione da qui.
Errore di pedice fuori dall'intervallo in VBA.xlsm
Che cos'è l'errore Subscript Out of Range in VBA?
VBA Sottoscritto fuori dall'intervallo si verifica quando si cerca di accedere a un membro inesistente o a una collezione di array inesistente in Excel. Si tratta di un errore " Errore di esecuzione 9 " tipo di errore in VBA codifica in Excel.
Di solito l'errore si presenta come segue,
5 motivi e soluzioni per l'errore Subscript Out of Range in VBA
In questa sezione verranno discusse le 5 ragioni più comuni per cui si verificano i casi di Sottoscritto fuori dall'intervallo e quali sono le soluzioni.
1. Errore di pedice fuori dall'intervallo in VBA per una cartella di lavoro inesistente
Quando si tenta di accedere a una cartella di lavoro di Excel non aperta, viene visualizzato un messaggio " Sottoscritto fuori dall'intervallo " errore.
Se cerchiamo di Correre il codice mostrato sopra, otterremo l'errore perché non esiste una cartella di lavoro Excel denominata " Vendite " che è attualmente aperto.
Soluzione
Per risolvere questo errore, aprite prima la cartella di lavoro di Excel a cui volete accedere e poi eseguite la macro.
2. Errore di pedice fuori dall'intervallo in VBA per un foglio di lavoro inesistente
Quando si tenta di accedere a un foglio di lavoro che non esiste nella cartella di lavoro di Excel, si ottiene anche il messaggio " Sottoscritto fuori dall'intervallo " in VBA .
Se proviamo a eseguire il codice mostrato sopra, otterremo un errore perché non c'è alcun " Foglio2 " disponibile nella nostra cartella di lavoro.
Soluzione
Per risolvere questo errore, è necessario che il foglio Excel a cui si vuole accedere sia presente nella cartella di lavoro in esecuzione e che la macro venga eseguita.
3. Errore di pedice fuori dall'intervallo in VBA per elementi di array non definiti
Se non si definisce la lunghezza di un Array dinamico con la parola DIM o REDIM in Excel VBA , si otterrà il messaggio " Sottoscritto fuori dall'intervallo " errore.
Nel codice precedente, abbiamo dichiarato la matrice nella dimensione da 5 a 10, ma abbiamo fatto riferimento a un pedice di indice 3, che è inferiore a 5.
Soluzione
Per risolvere questo problema, dichiarare l'indice tra le dimensioni della matrice.
Questo pezzo di codice funziona perfettamente perché qui ci siamo riferiti al pedice dell'indice 5, che si trova all'interno dell'intervallo da 5 a 10.
4. Errore di pedice fuori dall'intervallo in VBA per raccolta/array non validi
Quando il pedice è più grande o più piccolo dell'intervallo di pedici possibili, il parametro Sottoscritto fuori dall'intervallo si verificherà un errore.
Guardate l'esempio precedente: abbiamo dichiarato la variabile come una matrice, ma invece di assegnare un punto di partenza e uno di arrivo, abbiamo assegnato direttamente la prima matrice con il valore di 20.
Soluzione
Per risolvere questo problema, è necessario assegnare la lunghezza dell'array con un punto iniziale e uno finale.
Questo codice non dà alcun errore perché ora abbiamo dichiarato la matrice con un punto di partenza 1 e un punto di arrivo 5.
5. Errore di pedice fuori dall'intervallo in VBA per script stenografici
Se si utilizza un'abbreviazione di un pedice e questa si riferisce a un elemento non valido, si otterrà il messaggio " Sottoscritto fuori dall'intervallo "errore in Excel VBA Ad esempio, [A2] è l'abbreviazione di ActiveSheet.Range(A2) .
Soluzione
Per risolvere il problema, è necessario utilizzare un file valido nome della chiave e indice per la collezione. Invece di scrivere ActiveSheet.Range(A2) è sufficiente scrivere [ A2 ].
Vantaggi dell'errore di pedice fuori dall'intervallo di Excel in VBA
- VBA Sottoscritto fuori dall'intervallo o " Errore di esecuzione 9 " è molto utile per specificare la posizione dell'errore in cui si è verificato nel file VBA codice.
- Questo errore aiuta gli utenti a trovare il tipo di errore in modo da poter controllare e trovare le soluzioni in base al codice di errore.
Cose da ricordare
- Poiché questo errore compila ogni passo del codice per indicare esattamente la parte di codice per cui è necessario agire, è meglio compilare ogni riga di codice una per una premendo F8 se si dispone di un'enorme riga di codice.
Conclusione
Questo articolo vi ha mostrato i motivi e le soluzioni di Excel Sottoscritto fuori dall'intervallo errore in VBA. Spero che questo articolo vi sia stato utile e non esitate a fare domande su questo argomento.