Compartir a través de


ParamArray se debe declarar como matriz de Variant

Cada argumento de un parámetroParamArray puede ser de un tipo de datos diferente. Por lo tanto, el parámetro en sí debe declararse como unamatriz de tipo Variant. También puede proporcionar el número que desee de argumentos para un parámetro ParamArray. Cuando se hace la llamada, cada argumento suministrado en la llamada se convierte en un elemento correspondiente de la matriz Variant. Por ejemplo:

Sub MySub(ParamArray VarArg()) 
    . . . 
End Sub 
Call MySub ("First arg", 2, 3.54) 

Este error tiene las siguientes causas y soluciones:

  • En la definición del procedimiento, el parámetro ParamArray se define como una matriz de un tipo diferente a Variant.

    Vuelva a declarar el tipo de parámetro como una matriz de elementos de Variant.

  • No se especificó ningún tipo de datos para el parámetro ParamArray, pero la definición del procedimiento está dentro del ámbito de una instrucción Deftype, por lo que el parámetro se declara de manera implícita como poseedor de un tipo diferente a Variant. Use una cláusula explícita As Variant en la especificación del parámetro ParamArray.

Para más información, seleccione el elemento en cuestión y presione F1 (en Windows) o AYUDA (en Macintosh).

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.