Tabla de contenido
    Reparación de Excel

    ¿Cómo corregir el error de Excel VBA “Subíndice fuera de rango” (Error de tiempo de ejecución 9)?


    Tabla de contenido

      Resumen: El error de ejecución 9 en Excel suele producirse cuando se utilizan diferentes objetos en un código o el objeto que está intentando utilizar no está definido. Este post discutirá las razones detrás del error de Excel VBA "Subscript out of Range" y las soluciones para resolver el problema. También se mencionará una herramienta de reparación de Excel que puede ayudar a solucionar el error si se produce debido a la corrupción en la hoja de cálculo.

      Muchos usuarios han informado de que se encuentran con el error “Subíndice fuera de rango” (error de ejecución 9) al utilizar código VBA en Excel. El error suele producirse cuando el objeto al que se hace referencia en un código no está disponible, se ha eliminado o no se ha definido antes. A veces, ocurre si has declarado un array en el código pero olvidaste especificar la sentencia DIM o ReDIM para definir la longitud del array.

      Causas del error de ejecución 9 de VBA: subíndice fuera de rango

      El error ‘Subíndice fuera de rango’ en Excel puede ocurrir debido a varias razones, tales como:

      • El objeto que intenta utilizar en el código VBA no se ha definido antes o se ha eliminado.
      • Se ha introducido una sintaxis incorrecta en la declaración del array.
      • Escritura incorrecta del nombre de la variable.
      • Hace referencia a un elemento de matriz incorrecto.
      • Ha introducido un nombre incorrecto de la hoja de cálculo a la que intenta hacer referencia.
      • La hoja de cálculo a la que intenta llamar en el código no está disponible.
      • Se ha especificado un elemento no válido.
      • No se especifica el número de elementos de una matriz.
      • El libro de trabajo en el que intenta utilizar VBA está dañado.

      Métodos para corregir el error de Excel VBA ‘Subíndice fuera de rango’

      A continuación se indican algunas soluciones que puede probar para solucionar el error de ejecución 9 en Excel.

      Método 1: Compruebe el nombre de la hoja de cálculo en el código

      A veces, Excel arroja el error de ejecución 9: Subíndice fuera de rango si el nombre de la hoja de cálculo no se define correctamente en el código. Por ejemplo – Al intentar copiar el contenido de una hoja de Excel (emp) a otra hoja (emp2) a través de código VBA, se ha mencionado por error el nombre incorrecto de la hoja de trabajo (ver el código de abajo).

      Private Sub CommandButton1_Click()
      Worksheets(“emp”).Range(“A1:E5”).Select
      Selection.Copy
      Worksheets(“emp3”).Activate
      Worksheets(“emp3”).Range(“A1:E5”).Select
      ActiveSheet.Paste
      Application.CutCopyMode = False
      End Sub
      Compruebe el nombre de la hoja de cálculo en el código

      Cuando ejecute el código anterior, Excel arrojará el error Subíndice fuera de rango.

      Por lo tanto, compruebe el nombre de la hoja de cálculo y corríjalo. Aquí están los pasos:

      • Vaya a la pestaña Diseño de la sección Desarrollador.
      • Haga doble clic en el botón Comando.
      • Compruebe y modifique el nombre de la hoja de cálculo (por ejemplo, de “emp” a “emp2”).
      Compruebe y modifique el nombre de la hoja de cálculo
      • Ahora ejecuta el código.
      • El contenido de la hoja de cálculo “emp” se copiará en “emp2” (véase más abajo).
      El contenido de la hoja de cálculo "emp" se copiará en "emp2"

      Método 2: Comprobar el rango de la matriz

      El error de VBA “Subíndice fuera de rango” también se produce si has declarado un array en un código pero no has especificado el número de elementos. Por ejemplo – Si ha declarado una matriz y se olvidó de declarar la variable de matriz con elementos, obtendrá el error (véase más adelante):

      Comprobar el rango de la matriz

      Para solucionarlo, especifique la variable array:

      Sub FillArray()
      Dim curExpense(364) As Currency
      Dim intI As Integer
      For intI = 0 to 364
      curExpense(intI) = 20
      Next
      End Sub

      Método 3: Cambiar la configuración de seguridad de las macros

      El error de tiempo de ejecución 9: Subíndice fuera de rango también puede ocurrir si hay un problema con las macros o si las macros están desactivadas en la Configuración de seguridad de macros. En tal caso, puede comprobar y cambiar la configuración de las macros. Siga estos pasos:

      • Abra su Microsoft Excel.
      • Vaya a Archivo > Opciones > Centro de confianza.
      • En Centro de confianza, seleccione Configuración del Centro de confianza.
      • Haga clic en Configuración de macros, seleccione Activar todas las macros y, a continuación, haga clic en Aceptar.
      Configuración de macros

      Método 4: Repare su archivo Excel

      El nombre o formato del archivo Excel o el nombre de los objetos puede cambiar debido a la corrupción en el archivo. Cuando los objetos no se identifican en un código VBA, puede aparecer el error Subíndice fuera de rango. Puede utilizar la utilidad Abrir y reparar de Excel para reparar el archivo dañado. Para utilizar esta utilidad, siga estos pasos:

      • En su MS Excel, haga clic en Archivo > Abrir.
      • Vaya a la ubicación donde está almacenado el archivo afectado.
      • En el cuadro de diálogo Abrir, seleccione el libro dañado.
      • En el menú desplegable Abrir, haga clic en Abrir y reparar.
      • Aparecerá un mensaje pidiéndole que repare el archivo o extraiga datos de él.
      • Haga clic en la opción Reparar para extraer los datos tanto como sea posible. Si el botón Reparar falla, entonces haga clic en el botón Extraer para recuperar los datos sin fórmulas ni valores.

      Si la utilidad “Abrir y reparar” no consigue reparar el archivo de Excel dañado/corrompido con macros, pruebe con una herramienta avanzada de reparación de Excel, como Stellar Repair for Excel. Puede reparar fácilmente un libro de Excel gravemente dañado y recuperar todos los elementos, incluidas macros, comentarios de celdas, tablas, gráficos, etc. con una integridad del 100%. La herramienta es compatible con todas las versiones de Microsoft Excel.

      Conclusión

      Es posible que experimente el error “Subíndice fuera de rango” al utilizar VBA en Excel. Puede seguir las soluciones discutidas en este blog para solucionar el error. Si el archivo de Excel está dañado, puede utilizar Stellar Repair for Excel para repararlo. Es un potente software que puede ayudar a solucionar todos los problemas que se producen debido a la corrupción en el archivo de Excel. Ayuda a recuperar todos los datos de los archivos corruptos de Excel (.xls, .xlsx, .xltm, .xltx y .xlsm) sin cambiar el formato original. La herramienta es compatible con Excel 2021, 2019, 2016 y versiones anteriores.

      Was this article helpful?

      No NO

      Sobre el autor

      Himanshu Shakya

      Himanshu is a Tech Enthusiast and Blogger at Stellar, with expertise in data recovery solutions and a keen interest in emerging technologies. Fluent in Japanese, he brings a diverse skill set to his role, contributing to global tech conversations. Outside of work, Himanshu enjoys playing chess, sharpening his strategic thinking and problem-solving skills in his spare time.

      Publicación relacionada

      POR QUÉ STELLAR® ES LÍDER MUNDIAL

      ¿Por qué elegir Stellar?

      • 0M+

        Clientes

      • 0+

        Años de excelencia

      • 0+

        Ingenieros de I+D

      • 0+

        Países

      • 0+

        SOCIOS

      • 0+

        Premios recibidos