¿Cómo corregir el error 'Subíndice fuera de rango' en Visual Basic para aplicaciones?



Pruebe Nuestro Instrumento Para Eliminar Los Problemas

Visual Basic para Aplicaciones (VBA) es una implementación del lenguaje de programación Visual Basic desarrollado por Microsoft. VBA se puede utilizar para habilitar UDF, automatizar tareas y para acceder a WinAPI a través de DLL. Sin embargo, recientemente, se han recibido muchos informes en los que los usuarios no pueden ejecutar ciertos comandos y un ' Subíndice fuera de rango, error 9 Aparece al intentar hacerlo.



Error de subíndice fuera de rango



¿Qué causa el error 'Subíndice fuera de rango' en VBA?

Después de recibir numerosos informes de varios usuarios, decidimos investigar el problema e ideamos un conjunto de soluciones para solucionarlo por completo. Además, analizamos las razones por las que se activa y las enumeramos de la siguiente manera.



  • Elemento no existente: En algunos casos, es posible que haya hecho referencia a un elemento en el comando que no existe. Es posible que el subíndice sea mayor o menor que el rango de posibles subíndices o que las dimensiones no se hayan asignado a la matriz en este punto de la aplicación.
  • Elementos indefinidos: Es posible que no haya identificado la cantidad de elementos en su código, es importante que la cantidad de elementos en una matriz se defina mediante los comandos 'Dim' o 'ReDim'.
  • Miembro de colección incorrecto: En algunos casos, el usuario puede haber hecho referencia a un miembro de la colección que no existe. Si se hace una referencia incorrecta hacia el miembro de la colección, este error podría desencadenarse.
  • Guión taquigráfico: Es posible que haya utilizado una forma abreviada de subíndice y haya especificado implícitamente un elemento que no era válido. Es importante utilizar un nombre de clave válido.

Ahora que tiene una comprensión básica de la naturaleza del problema, avanzaremos hacia las soluciones. Asegúrese de implementarlos en el orden específico en el que se presentan para evitar conflictos.

Solución 1: Comprobación de matrices

Es posible que haya definido un valor incorrecto para el elemento Array. Por lo tanto, se recomienda volver a verificar el valor que ha definido para el elemento Array y asegurarse de que sea el correcto. Además, asegúrese de verificar la declaración de la matriz y verificar los límites superior e inferior. Si las matrices se han redimensionado, asegúrese de utilizar el LBound y UBound funciones para condicionar accesos. Compruebe la ortografía del nombre de la variable si el índice es una variable.

Matriz en VBA Excel



Solución 2: especificar el número de elementos

En algunos casos, es posible que no haya definido la cantidad de elementos en su código debido a los cuales se desencadenó el error. Se recomienda que especifique el número de elementos en la matriz utilizando el Ninguna o ReDim funciones.

Usar Dim y ReDim para especificar el número de elementos

Solución 3: cambio de construcción

Este error se desencadena comúnmente cuando el usuario especifica un miembro de colección incorrecto o inexistente. Por lo tanto, en lugar de especificar los elementos del índice, se recomienda que se acerque con el ' Para cada uno ... Siguiente ”Constructo.

Uso de la construcción 'Para cada ... siguiente'

Solución 4: comprobación del nombre de clave y el índice

En algunos casos, es posible que haya utilizado una forma abreviada del subíndice y especifica un elemento no válido. Por lo tanto, se recomienda que utilice un clave válida nombre y índice para la colección.

Usar un nombre de clave válido

2 minutos de lectura