Compartilhar via


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.