ParamArray deve ser declarado como uma matriz de Variant
Cada argumento para um parâmetroParamArray pode ser de um tipo de dados diferente. Portanto, o parâmetro em si deve ser declarado como uma matriz do tipo Variant . Você também pode fornecer vários argumentos para um ParamArray. Quando a chamada é feita, cada argumento fornecido na chamada se torna um elemento correspondente da matriz Variant . Por exemplo:
Sub MySub(ParamArray VarArg())
. . .
End Sub
Call MySub ("First arg", 2, 3.54)
Esse erro tem as seguintes causas e soluções:
Na definição do procedimento, o parâmetro ParamArray é definido como uma matriz de um tipo diferente de Variant.
Redeclare o tipo de parâmetro como uma matriz de elementos Variant .
Nenhum tipo de dados foi especificado para o parâmetro ParamArray, mas a definição do procedimento está dentro do escopo de uma instrução de tipoDef, portanto, o parâmetro é implicitamente declarado como tendo um tipo diferente de Variant. Use uma cláusula as variant explícita na especificação do parâmetro ParamArray .
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