Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 deveria ser atribuído.
Para atribuir um único valor a um elemento de matriz, você deve especificar o elemento em um subscrito. Por exemplo, se
MyArrayfor uma matriz inteira, a expressãoMyArray = 5será inválida, mas a seguinte expressão será válida:MyArray(UBound(MyArray)) = 5Você tentou atribuir uma matriz inteira a outra matriz.
Por exemplo, se
Arr1for uma matriz eArr2for 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 se os tipos da matriz são correspondentes.
Você pode colocar uma matriz inteira em uma Variant, resultando em uma única variável variante contendo a matriz inteira:
Dim MyArr As Variant MyVar = Arr2()Em seguida, você faz referência aos elementos da matriz na variante com a mesma notação subscrita 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.