Compartir a través de


No se puede asignar una matriz

Todos los elementos de una matriz deben disponer de un valor asignado de forma individual. Las causas y soluciones de este error son las siguientes:

  • Intentó asignar accidentalmente un valor único a una variable de matriz, sin especificar el elemento al que debía asignarse dicho valor.

    Para asignar un valor único a un elemento de matriz, debe especificar el elemento en un subíndice. Por ejemplo, si MyArray es una matriz de enteros, la expresiónMyArray = 5 no es válida, pero la siguiente expresión es válida: MyArray(UBound(MyArray)) = 5

  • Intentó asignar una matriz completa a otra matriz.

    Por ejemplo, si Arr1 es una matriz y Arr2 es otra matriz, las dos asignaciones siguientes no son válidas:

        Arr1 = Arr2    ' Invalid assignment. 
        Arr1() = Arr2()    ' Invalid assignment. 
    

    Para asignar una matriz a otra, asegúrese de que la matriz del lado izquierdo de la asignación se pueda cambiar de tamaño y de que los tipos de la matriz coincidan.

    [!NOTA] Si sitúa una matriz completa en un valor Variant, el resultado será una variable Variant única que contendrá la matriz completa:

           Dim MyArr As Variant 
           MyVar = Arr2() 
    

    A continuación ya puede hacer referencia a los elementos de la matriz de la variante con la misma notación de subíndice que usaría para una matriz normal. Por ejemplo:

      MyVar(3) = MyVar(1) + MyVar(5) 
    

Para más información, seleccione el elemento en cuestión y presione F1 (en Windows) o AYUDA (en Macintosh).

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.