Come risolvere l’errore VBA di Excel “Subscript Out of Range” (errore di runtime 9)?

Summary: L'errore di runtime 9 in Excel si verifica solitamente quando si utilizzano oggetti diversi in un codice o l'oggetto che si sta cercando di utilizzare non è definito. Questo post illustra le ragioni alla base dell'errore VBA di Excel "Subscript out of Range" e le soluzioni per risolvere il problema. Verrà inoltre menzionato uno strumento di riparazione di Excel che può aiutare a risolvere l'errore se si verifica a causa della corruzione del foglio di lavoro.

Molti utenti hanno segnalato di aver riscontrato l’errore “Subscript out of range” (errore di runtime 9) quando utilizzano codice VBA in Excel. L’errore si verifica spesso quando l’oggetto a cui si fa riferimento nel codice non è disponibile, è stato eliminato o non è stato definito in precedenza. A volte si verifica se si è dichiarato un array nel codice ma si è dimenticato di specificare l’istruzione DIM o ReDIM per definire la lunghezza dell’array.

Cause dell’errore di runtime VBA 9: pedice fuori dall’intervallo

L’errore “Sottoscritto fuori dall’intervallo” in Excel può verificarsi per diversi motivi, ad esempio:

Metodi per risolvere l’errore VBA di Excel ‘Subscript out of Range’ (pedice fuori dall’intervallo)

Di seguito sono riportate alcune soluzioni per risolvere l’errore di runtime 9 in Excel.

Metodo 1: controllare il nome del foglio di lavoro nel codice

A volte, Excel lancia l’errore di runtime 9: Subscript out of range se il nome del foglio di lavoro non è definito correttamente nel codice. Ad esempio, quando si cerca di copiare il contenuto da un foglio di Excel (emp) a un altro foglio (emp2) tramite il codice VBA, è stato erroneamente indicato un nome sbagliato del foglio di lavoro (vedere il codice seguente).

Private Sub CommandButton1_Click()
Worksheets(“emp”).Range(“A1:E5”).Select
Selection.Copy
Worksheets(“emp3”).Activate
Worksheets(“emp3”).Range(“A1:E5”).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Quando si esegue il codice di cui sopra, Excel lancia l’errore Subscript out of range.

Quindi, controllate il nome del foglio di lavoro e correggetelo. Ecco i passaggi:

Metodo 2: controllare l’intervallo della matrice

L’errore VBA “Subscript out of range” si verifica anche se in un codice è stato dichiarato un array ma non è stato specificato il numero di elementi. Ad esempio, se si è dichiarato un array e si è dimenticato di dichiarare la variabile array con gli elementi, si otterrà l’errore (vedere sotto):

Per risolvere il problema, specificare la variabile array:

Sub FillArray()
Dim curExpense(364) Come valuta
Dim intI As Integer
For intI = 0 to 364
curExpense(intI) = 20
Next
Fine Sub

Metodo 3: modificare le impostazioni di sicurezza della macro

L’errore di runtime 9: Subscript out of range può verificarsi anche se c’è un problema con le macro o se le macro sono disabilitate nelle Impostazioni di sicurezza macro. In questo caso, è possibile controllare e modificare le impostazioni delle macro. Procedere come segue:

Metodo 4: Riparare il file Excel

Il nome o il formato del file Excel o il nome degli oggetti possono essere cambiati a causa della corruzione del file. Quando gli oggetti non sono identificati in un codice VBA, si può verificare l’errore Subscript out of range. È possibile utilizzare l’utilità Apri e ripara di Excel per riparare il file danneggiato. Per utilizzare questa utility, seguite i seguenti passaggi:

Se l’utilità “Apri e ripara” non riesce a riparare il file Excel corrotto/danneggiato con macro, provare uno strumento di riparazione Excel avanzato, come Stellar Repair for Excel. Può facilmente riparare una cartella di lavoro Excel gravemente danneggiata e recuperare tutti gli elementi, comprese le macro, i commenti delle celle, le tabelle, i grafici, ecc. con il 100% di integrità. Lo strumento è compatibile con tutte le versioni di Microsoft Excel.

Conclusione

È possibile che si verifichi l’errore “Subscript out of range” durante l’utilizzo di VBA in Excel. Per risolvere l’errore è possibile seguire le soluzioni discusse in questo blog. Se il file Excel è danneggiato, è possibile utilizzare Stellar Repair for Excel per riparare il file. È un software potente che può aiutare a risolvere tutti i problemi che si verificano a causa della corruzione del file Excel. Aiuta a recuperare tutti i dati dai file Excel corrotti (.xls, .xlsx, .xltm, .xltx e .xlsm) senza modificare la formattazione originale. Lo strumento supporta Excel 2021, 2019, 2016 e versioni precedenti.

Related Post

Exit mobile version