ParamArray tem de ser declarado como uma matriz de Variante
Cada argumento para um parâmetroParamArray pode ser de um tipo de dados diferente. Por conseguinte, o parâmetro em si tem de ser declarado como uma matriz do tipo Variante . Também pode fornecer qualquer número de argumentos a uma ParamArray. Quando a chamada é feita, cada argumento fornecido na chamada torna-se um elemento correspondente da matriz Variante . 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 Variante.
Volte a declarar o tipo de parâmetro como uma matriz de elementos variantes .
Não foi especificado nenhum tipo de dados para o parâmetro ParamArray, mas a definição do procedimento está dentro do âmbito de uma instrução de tipoDef, pelo que o parâmetro é declarado implicitamente como tendo um tipo diferente de Variante. Utilize 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.