Share via


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.