Correzione dell'errore fuori intervallo del parametro in Visual Basic, Applications Edition (VBA)



Aggiornato 2024 di aprile: smetti di ricevere messaggi di errore e rallenta il tuo sistema con il nostro strumento di ottimizzazione. Scaricalo ora su questo link
  1. Scarica e installa lo strumento di riparazione qui.
  2. Lascia che scansioni il tuo computer.
  3. Lo strumento sarà quindi ripara il tuo computer.

Si verifica un errore di indice VBA fuori intervallo perché l'oggetto a cui si desidera accedere non esiste. Questo è un tipo di errore nella codifica VBA e un "errore di runtime 9". È importante comprendere i concetti per scrivere un codice efficace ed è ancora più importante comprendere l'errore del codice VBA per eseguire il debug del codice in modo efficace.

Se tu e il tuo errore di codifica non sai quale sia questo errore quando sei assente.

Un medico non può somministrare farmaci al suo paziente senza conoscere la malattia. Mentre il medico e il paziente sanno che c'è una malattia (errore), è importante capire che la malattia (errore) sta dando le sue medicine. Se si comprende pienamente l'errore, è molto più facile trovare la soluzione.

Un altro motivo potrebbe essere che non si dispone di una stampante standard sul computer. Esistono diverse soluzioni per risolvere questo problema Errore di runtime Problema 9, quindi provali tutti nel giusto ordine.

Aggiunta di una stampante predefinita

  1. Collegare una stampante al computer, collegare il cavo di alimentazione e accenderlo.
  2. Vai su "Start"> "Pannello di controllo"> "Stampanti e fax".
  3. Fare clic su "Aggiungi stampante" e seguire le istruzioni sullo schermo per aggiungere una stampante predefinita.

Controlla gli array

È possibile che sia stato impostato un valore errato per l'elemento array. Si consiglia pertanto di ricontrollare il valore che è stato definito per l'elemento array e assicurarsi che sia corretto. Assicurati anche di controllare la dichiarazione della tabella e controllare i limiti superiore e inferiore. Se le tabelle sono state ridimensionate, assicurarsi di utilizzare le funzioni LBound e UBound per condizionare l'accesso. Controlla l'ortografia del nome della variabile se l'indice è una variabile.

Definire il numero di elementi

In alcuni casi, potresti non aver definito il numero di elementi nel tuo codice che attiveranno l'errore. Si consiglia di specificare il numero di elementi nella tabella usando le funzioni Dim o ReDim.

Come evitare l'errore "Out of Range Error Subscript" in VBA

Evita di utilizzare le funzioni integrate in Excel: ActiveWorkbook, ActiveSheet e Selezione: inserisci i valori di ritorno e preferisci espressioni qualificate.



Aggiornamento di aprile 2024:

Ora puoi prevenire i problemi del PC utilizzando questo strumento, ad esempio proteggendoti dalla perdita di file e dal malware. Inoltre è un ottimo modo per ottimizzare il computer per le massime prestazioni. Il programma corregge facilmente gli errori comuni che potrebbero verificarsi sui sistemi Windows, senza bisogno di ore di risoluzione dei problemi quando hai la soluzione perfetta a portata di mano:

  • Passo 1: Scarica PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista - Certificato Microsoft Gold).
  • Passaggio 2: fare clic su "Avvio scansione"Per trovare problemi di registro di Windows che potrebbero causare problemi al PC.
  • Passaggio 3: fare clic su "Ripara tutto"Per risolvere tutti i problemi.

scaricare



Utilizzare l'integrazione solo una volta e solo nelle macro più esterne (sottotitoli) e acquisire quando si avvia la macro, ad es

set wkb = ActiveWorkbook
set wks = ActiveSheet
Set sale = Selezione
Durante e nelle macro, questi nomi integrati non sono affidabili, ma vengono registrati i valori di ritorno, ad es

Impostare wkb = Workbooks.add 'invece di Workbooks.add senza immettere un valore di ritorno.
wkb.Activate 'invece di Activeworkbook.Activate
Prova anche ad usare espressioni qualificate, per esempio

wkb.Sheets ("Sheet3"). name = "foo" 'invece di Sheets ("Sheet3"). name = "foo".
or

Imposta newWks = wkb.Sheets.Add.
newWks.name = "bar" 'invece di ActiveSheet.name = "bar".
Utilizzare espressioni qualificate, ad es

newWks.name = "bar" 'invece di "xyz.Select" seguito da Selection.name = "bar".
Questi metodi generalmente funzionano meglio, producono risultati meno confusi, sono più robusti per il refactoring (ad esempio, spostando linee di codice all'interno e tra i metodi) e funzionano meglio in tutte le versioni di Excel. Ad esempio, la selezione cambia in modo diverso da una versione di Excel a un'altra durante l'esecuzione della macro.

Si noti inoltre che probabilmente si troverà che l'uso di espressioni più qualificate non richiede l'attivazione di quasi altrettante funzioni. (Ciò può significare che lo schermo lampeggia meno per l'utente.) Quindi l'intera riga di Windows (espressione). Activate potrebbe essere semplicemente cancellato invece di essere sostituito da wkb. Attiva affatto.

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/subscript-out-of-range-error-9



Suggerimento esperto: Questo strumento di riparazione esegue la scansione dei repository e sostituisce i file corrotti o mancanti se nessuno di questi metodi ha funzionato. Funziona bene nella maggior parte dei casi in cui il problema è dovuto alla corruzione del sistema. Questo strumento ottimizzerà anche il tuo sistema per massimizzare le prestazioni. Può essere scaricato da Cliccando qui