Error de subíndex d'Excel fora de rang a VBA (amb 5 solucions)

  • Comparteix Això
Hugh West

En aquest article, us mostrarem els motius de l'error " Subíndex fora de l'interval " a Excel VBA i com resoldre'ls.

Descarregueu la plantilla de pràctica

Podeu baixar la plantilla d'Excel de pràctica gratuïta des d'aquí.

Error de subíndex fora de rang a VBA.xlsm

Què és l'error de subíndex fora de rang a VBA? L'error

Subscript VBA fora de rang es produeix quan intentem accedir a qualsevol membre inexistent o col·lecció de matriu inexistent a Excel. Es tracta d'un tipus d'error " Error en temps d'execució 9 " a la codificació VBA a Excel.

L'error normalment té aquest aspecte,

5 raons per les solucions d'error de subíndex fora de rang a VBA

Aquesta secció tractarà les 5 raons més habituals per a l'aparició de l' Error de subíndex fora de rang i quines són les solucions.

1. Error de subíndex fora de rang a VBA per a un llibre de treball inexistent

Quan intenteu accedir a un llibre de treball d'Excel que no està obert, obtindreu un error " Subíndex fora de rang ".

Si intentem Executar el codi que es mostra més amunt, obtindrem l'error perquè no hi ha cap llibre d'Excel anomenat " Vendes ” que està obert actualment.

Solució

Per resoldre aquest error, primer obriu el llibre d'Excel al qual voleu accedir i, a continuació, executeu la macro.

2. Error de subíndex fora de rang a VBA per inexistentFull de treball

Quan intenteu accedir a un full de treball que no existeix al llibre d'Excel, també obtindreu l'error " Subíndex fora de l'interval " a VBA .

Si intentem executar el codi que es mostra més amunt, obtindrem l'error perquè no hi ha " Full2 ” disponible al nostre llibre de treball.

Solució

Per resoldre aquest error, cal que tingueu el full d'Excel al qual voleu accedir al llibre de treball en execució i a continuació, executeu la macro.

3. Error de subíndex fora de rang a VBA per a elements de matriu no definits

Si no definiu la longitud d'una matriu dinàmica amb el paraula DIM o REDIM a Excel VBA , aleshores obtindreu l'error " Subíndex fora de l'interval ".

Al codi anterior, vam declarar la matriu en la dimensió del 5 al 10, però ens referim a un subíndex de l'índex 3, que és inferior a 5.

Solució

Per resoldre això, declareu l'índex entre la dimensió Array.

Aquesta peça e de codi funciona perfectament bé perquè aquí ens hem referit al subíndex de l'índex 5, que es troba dins del rang de 5 a 10.

4. Error de subíndex fora de rang a VBA per a la col·lecció no vàlida/ Matriu

Quan el subíndex és més gran o més petit que l'interval del possible subíndex, es produirà l'error Subíndex fora de l'interval .

Mireu l'exemple anterior, nosaltresva declarar la variable com una matriu, però en lloc d'assignar un punt inicial i final, hem assignat directament la primera matriu amb el valor de 20.

Solució

Per per solucionar aquest problema, hem d'assignar la longitud de la matriu amb un punt inicial i un punt final.

Aquest codi no dóna cap error perquè ara hem declarat la matriu. amb un punt inicial d'1 i un punt final de 5.

5. Error de subíndex fora de rang a VBA per a l'script de taquigrafia

Si utilitzeu una taquigrafia d'un subíndex i es refereix a un element no vàlid, obtindreu l'error " Subíndex fora de l'interval " a Excel VBA . Per exemple, [A2] és l'abreviatura de ActiveSheet.Range(A2) .

Solució

Per solucionar això, heu d'utilitzar un nom de clau i un índex vàlids per a la col·lecció. En lloc d'escriure ActiveSheet.Range(A2) , només podeu escriure [ A2 ].

Avantage de l'error de subíndex d'Excel fora de rang a VBA

  • Error de subíndex VBA fora de rang o " Error de temps d'execució 9 " és molt útil per especificar la posició de l'error on s'ha produït al codi VBA .
  • Aquest error ajuda els usuaris a trobar el tipus d'error perquè puguin comprovar i trobar les solucions segons el codi d'error.

Coses per recordar

  • Com que aquest error compila cada pas del codi per indicar-nos exactament quina part deel codi per al qual realment hem de prendre accions, així que és millor compilar cada línia de codi una per una prement la tecla F8 si teniu una línia de codi enorme.

Conclusió

Aquest article us mostra les raons i les solucions de l'error Subíndex fora de rang d'Excel a VBA. Espero que aquest article us hagi estat molt profitós. No dubteu a fer qualsevol pregunta sobre el tema.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.