Tipo de datos Variant

El tipo de datos Variant es el tipo de datos para todas las variables que no están explícitamente declaradas como otro tipo (mediante instrucciones como Dim, Private, Public o Static).

El tipo de datos Variant no tiene caracteres de declaración de tipo.

Variant es un tipo de datos especial que puede contener cualquier tipo de datos, excepto datos decadena de longitud fija. (Los tipos Variant ahora son compatibles con tipos definidos por el usuario). Un tipo de datos Variant también puede contener los valores especiales Empty, Error, Nothing y Null. Puede determinar cómo se tratan los datos de un tipo de datos Variant gracias a las funciones VarType o TypeName.

Use la función VarType para probar qué tipo de datos se almacena en un Variant.

Los datos numéricos pueden ser cualquier número entero o un valor numérico real comprendido entre -1,797693134862315E308 y -4,94066E-324 para valores negativos y entre 4,94066E-324 y 1,797693134862315E308 para valores positivos.

Por lo general, los datos Variant numéricos se mantienen en el tipo de datos original en Variant. Por ejemplo, si asigna un entero a un valor Variant, las operaciones siguientes tratarán al valor Variant como un entero. No obstante, si se realiza una operación aritmética en una Variant que contiene un byte, un entero, un largo o simple y el resultado supera el intervalo normal para el tipo de datos original, se promociona el resultado de Variant al siguiente tipo de datos superior. Un byte se promociona a un entero, un entero se promociona a un largoy un largo y un simple se promocionan a doble.

Se produce un error cuando las variables Variant que contienen valores de moneda, decimal y doble superiores a sus respectivos intervalos.

Use el tipo de datos Variant en lugar de cualquier tipo de datos para trabajar con ellos de una forma más flexible. Si el contenido de una variable Variant son dígitos, pueden ser la representación de la cadena de los dígitos o su valor actual, según el contexto. Por ejemplo:

Dim MyVar As Variant 
MyVar = 98052 

En el ejemplo anterior, MyVar contiene una representación numérica que es el valor real 98052. Los operadores aritméticos funcionan según lo esperado en las variables Variant que contienen valores numéricos o de cadena de datos que se pueden interpretar como números. Si utiliza el operador + para agregar MyVar a otra Variant que contiene un número o a una variable de tipo numérico, el resultado es una suma aritmética.

El valor Empty indica una variable Variant que no se ha inicializado (no se le ha asignado un valor inicial). Un valor de Variant que contiene Empty es 0 si se usa en un contexto numérico y una cadena de longitud cero ("") si se usa en un contexto de cadena.

No confunda Empty con Null. Null indica que la variable de Variant contiene datos no válidos de manera intencionada.

En Variant, Error es un valor especial que se usa para indicar que se ha producido un error en un procedimiento. Pero, a diferencia de otros tipos de errores, no se produce la gestión de errores normales de nivel de aplicación. Esto le permite a usted, o la aplicación, realizar acciones alternativas según el valor del error. Los valores de Error se crean convirtiendo números reales en valores de error mediante la función CVErr.

Vea también

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.