Não é possível atribuir a uma matriz
Cada elemento de uma matriz tem de ter o respetivo valor atribuído individualmente. Esse erro tem as seguintes causas e soluções:
Tentou inadvertidamente atribuir um único valor a uma variável de matriz sem especificar o elemento ao qual o valor deve ser atribuído.
Para atribuir um único valor a um elemento de matriz, tem de especificar o elemento numa linha inferior à linha. Por exemplo, se
MyArray
for uma matriz de números inteiros, a expressãoMyArray = 5
é inválida, mas a expressão seguinte é válida:MyArray(UBound(MyArray)) = 5
Tentou atribuir uma matriz inteira a outra matriz.
Por exemplo, se
Arr1
for uma matriz eArr2
for outra matriz, as duas atribuições seguintes são ambas inválidas:Arr1 = Arr2 ' Invalid assignment. Arr1() = Arr2() ' Invalid assignment.
Para atribuir uma matriz a outra, certifique-se de que a matriz no lado esquerdo da atribuição é redimensionável e que os tipos da matriz correspondem.
Pode colocar uma matriz inteira numa Variante, resultando numa única variável de variante que contém toda a matriz:
Dim MyArr As Variant MyVar = Arr2()
Em seguida, referencia os elementos da matriz na variante com a mesma notação inferior à linha de uma matriz normal, por exemplo:
MyVar(3) = MyVar(1) + MyVar(5)
Saiba mais selecionando o item em questão e pressionando F1 (no Windows) ou HELP (no Macintosh).
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.