Táboa de contidos
Neste artigo, mostrarémosche os motivos do erro " Subíndice fóra do intervalo " en Excel VBA e como resolvelos.
Descarga o modelo de práctica
Podes descargar o modelo de Excel de práctica gratuíta desde aquí.
Erro fóra do intervalo de subíndice en VBA.xlsm
Que é o erro de subíndice fóra de intervalo en VBA? O erro
Subíndice VBA fóra de rango ocorre cando tentamos acceder a calquera membro inexistente ou colección de matriz inexistente en Excel. Este é un tipo de erro " Erro de tempo de execución 9 " na codificación VBA en Excel.
O erro adoita ser así,
5 razóns coas solucións de erro fóra do intervalo de subíndice en VBA
Esta sección analizará as 5 razóns máis comúns para a aparición do Erro de subíndice fóra do intervalo e cales son as solucións para el.
1. Erro de subíndice fóra de intervalo en VBA para o libro de traballo inexistente
Cando intente acceder a un libro de Excel que non está aberto, obterá un erro " Subíndice fóra de intervalo ".
Se tentamos Executar o código mostrado arriba, obteremos o erro porque non hai ningún libro de Excel chamado " Vendas ” que está aberto actualmente.
Solución
Para resolver este erro, primeiro abra o libro de Excel ao que desexa acceder e despois Executar a macro.
2. Erro de subíndice fóra de intervalo en VBA por inexistenteFolla de traballo
Cando tentas acceder a unha folla de traballo que non existe no libro de Excel, tamén aparecerá o erro " Subíndice fóra do intervalo " en VBA .
Se tentamos executar o código mostrado arriba, obteremos o erro porque non hai " Folla2 ” dispoñible no noso libro de traballo.
Solución
Para resolver este erro, cómpre ter a folla de Excel á que desexa acceder no libro de traballo en execución e a continuación, execute a macro.
3. Erro de subíndice fóra de intervalo en VBA para elementos de matriz non definidos
Se non define a lonxitude dunha matriz dinámica co palabra DIM ou REDIM en Excel VBA , entón aparecerá o erro " Subíndice fóra do intervalo ".
No código anterior, declaramos a Matriz na dimensión de 5 a 10 pero referímonos a un subíndice do índice 3, que é inferior a 5.
Solución
Para resolver isto, declare o índice entre a dimensión Array.
Esta peza O código funciona perfectamente porque aquí nos referimos ao subíndice do índice 5, que está dentro do intervalo de 5 a 10.
4. Erro fóra do intervalo do subíndice en VBA para a colección non válida/ Matriz
Cando o subíndice é maior ou menor que o intervalo de posibles subíndices, producirase o erro Subíndice fóra do intervalo .
Mira o exemplo anterior, nósdeclarou a variable como unha matriz, pero en lugar de asignar un punto inicial e un punto final, asignamos directamente á primeira matriz o valor de 20.
Solución
Para solucionar este problema, necesitamos asignar a lonxitude da matriz cun punto de inicio e final.
Este código non dá ningún erro porque agora declaramos a matriz. cun punto inicial de 1 e un punto final de 5.
5. Erro fóra do intervalo de subíndice en VBA para o script de taquigrafía
Se usa unha abreviatura dun subíndice e refírese a un elemento non válido, entón obterá o erro " Subíndice fóra do intervalo " en Excel VBA . Por exemplo, [A2] é a abreviatura de ActiveSheet.Range(A2) .
Solución
Para corrixir isto, ten que usar un nome de chave e un índice válidos para a colección. En lugar de escribir ActiveSheet.Range(A2) , simplemente podes escribir [ A2 ].
Vantaxe do erro fóra do intervalo de subíndice de Excel en VBA
- Erro de subíndice VBA fóra de intervalo ou " Erro de tempo de execución 9 " é moi útil para especificar a posición do erro onde se produciu no código VBA .
- Este erro axuda aos usuarios a atopar o tipo de erro para que poidan comprobar e atopar as solucións segundo o código de erro.
Cousas para recordar
- Como este erro compila cada paso do código para indicarnos exactamente que parte deo código para o que realmente necesitamos tomar accións, polo que é mellor compilar cada liña de código unha a unha premendo a tecla F8 se tes unha liña de código enorme.
Conclusión
Este artigo mostrouche os motivos e as solucións do erro Subíndice fóra do intervalo de Excel en VBA. Espero que este artigo che resulte moi beneficioso. Non dubides en facer calquera dúbida sobre o tema.