Não é possível atribuir a uma matriz
Cada elemento de uma matriz deve ter seu valor atribuído individualmente. Esse erro tem as seguintes causas e soluções:
Você inadvertidamente tentou 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, você deve especificar o elemento em um subscript. Por exemplo, se
MyArray
for uma matriz inteiro, a expressãoMyArray = 5
será inválida, mas a seguinte expressão será válida:MyArray(UBound(MyArray)) = 5
Você tentou atribuir uma matriz inteira a outra matriz.
Por exemplo, se
Arr1
for uma matriz eArr2
for outra matriz, as duas atribuições a seguir serão inválidas:Arr1 = Arr2 ' Invalid assignment. Arr1() = Arr2() ' Invalid assignment.
Para atribuir uma matriz a outra, verifique se a matriz no lado esquerdo da atribuição é redimensionável e os tipos da matriz correspondem.
Você pode colocar uma matriz inteira em uma Variant, resultando em uma única variável variante que contém toda a matriz:
Dim MyArr As Variant MyVar = Arr2()
Em seguida, você referencia os elementos da matriz na variante com a mesma notação de subscrição que para 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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de