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 yArr2
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.