Taula de continguts
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.